如何在Ubuntu系统中安装和卸载Docker
简介
本文简单介绍如何在
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
使用脚本安装十分便捷,只需执行以下命令即可完成安装。
curl -sSL https://get.daocloud.io/docker | sh
# 或
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/intranet | sh -
启动并设置开机自启动
sudo systemctl start docker
sudo systemctl enable docker
验证是否安装成功
# 通过hello-world镜像来验证Docker是否已正确安装
sudo docker run hello-world
方法二: 在线安装
系统中首次安装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
已安装成功,但社区镜像拉取失败,需要设置国内镜像源,操作如下:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://jghuhrwl.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
添加 Docker 用户组
在普通权限下直接在终端执行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
除此之外,你还需要手动删除其他手动编辑的配置文件。