本文简单介绍如何在
Ubuntu
系统中安装和卸载Docker
。
安装Docker
需要以下Ubuntu
版本之一的64位
版本:
Ubuntu Jammy 22.04 (LTS)
Ubuntu Impish 21.10
Ubuntu Focal 20.04 (LTS)
Ubuntu Bionic 18.04 (LTS)
其他以Ubuntu为基础的第三方系统
x86_64(或amd64)armhf、、、arm64和s390x架构支持 Docker Engine
旧版本的Docker
被称为docker
,docker.io
或docker-engine
, 如果安装了这些,请先卸载它们:
sudo apt-get remove docker docker-engine docker.io containerd runc
Docker
官方为用户提供了两种安装方式:
Docker
官方的存储库安装(由于官方存储库在国内访问速度较慢,本位推荐使用国内镜像源,下文以中科大源为例),以便于后续升级。这是推荐的方法。DEB
包并手动安装,完全手动管理升级。这在内网环境下安装Docker
时很方便。在测试和开发环境中,一些用户也会选择使用自动化脚本来安装Docker
。
系统中首次安装Docker
,需要先设置Docker
存储库地址,然后才可以从存储库安装和更新Docker
。
# 更新软件源 sudo apt-get update # 允许apt通过 HTTPS 使用存储库 sudo apt-get install ca-certificates curl gnupg lsb-release # 设置存储库源地址及密钥 curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
Docker
# 更新软件源 sudo apt-get update # 安装Docker Engine、containerd 和 Docker Compose等依赖包 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 通过hello-world镜像来验证Docker是否已正确安装 sudo docker run hello-world
执行docker run hello-world
命令后,Docker
将自动下载hello-world
镜像并启动容器。
如果提示Unable to find image hello-world:latest locally
,说明Docker
已安装成功,但社区镜像拉取失败,需要设置国内镜像源,操作如下:
执行以下命令,打开 docker engine 用户配置文件
sudo gedit /etc/docker/daemon.json
输入以下内容,设置阿里云镜像源。
{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] }
在普通权限下直接在终端执行docker
命令,会提示没有权限,每次都加sudo
又太麻烦,可以按照以下操作将用户加入docker
用户组,即在免root
模式下直接执行命令。
# 添加docker用户组 sudo groupadd docker # 将当前用户加至docker用户组中 sudo usermod -aG docker $USER # 更新用户组 newgrp docker # 验证是否成功添加 docker run hello-world
有时我们可能是在内网环境或者网络不通畅的环境中安装docker
,所以要事先下载.deb
安装包并进行手动安装,但如果以后需要升级docker
,也必须重复此操作。
访问 https://download.docker.com/linux/ubuntu/dists/,选择对应的Ubuntu
版本(如jammy
),跳转到pool/stable/
路径下,选择对应版本,然后下载你需要的最新的.deb
文件。
可供选择的有三个安装包,分别是containerd.io
、docker-ce-cli
、docker-ce
,一般只需要安装docker-ce
,他们的作用官方解释如下:
containerd.io
- 与 OS API
接口的守护进程,本质上将 Docker
与 OS
分离,还为非 Docker
容器管理器提供容器服务。docker-ce
- Docker
守护进程,这是完成所有管理工作的部分,在 Linux
上需要另外两个。docker-ce-cli
- 用于控制守护进程的 CLI
工具,如果您想控制远程 Docker
守护进程,可以自行安装它们。Docker
# 请将'package'更换为你所下载的安装包名 sudo dpkg -i /path/to/package.deb
# 通过hello-world镜像来验证Docker是否已正确安装 sudo docker run hello-world
执行docker run hello-world
命令后,Docker
将自动下载hello-world
镜像并启动容器。
于终端执行以下命令:
# 卸载 Docker Engine、CLI、Containerd 和 Docker Compose 软件包 sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin # 删除所有镜像、容器和卷 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
除此之外,你还需要手动删除其他手动编辑的配置文件。