如何在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被称为dockerdocker.iodocker-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.iodocker-ce-clidocker-ce,一般只需要安装docker-ce,他们的作用官方解释如下:

  • containerd.io - 与 OS API 接口的守护进程,本质上将 DockerOS 分离,还为非 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

除此之外,你还需要手动删除其他手动编辑的配置文件

posted @ 2022-08-16 18:45  余以为  阅读(1955)  评论(0编辑  收藏  举报