ubuntu安装docker及插件docker-compose

AI摘要

正在生成中……


1. 更新APT包索引并安装必要的包:

1
2
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release

2. 添加Docker的官方GPG密钥:

1
2
3
4
5
 sudo mkdir -p /etc/apt/keyrings
# 阿里云的源 (两个任选一个)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 中科大的源
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3. 设置Docker存储库:

1
2
3
4
5
# 阿里云的源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 中科大的源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. 更新APT包索引:

1
sudo apt-get update

5. 安装Docker Engine、CLI、containerd和插件:

1
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果出现下面情况, 说明当前用户没有权限访问Docker daemon socket。这是因为Docker daemon需要root权限或者用户需要在docker组中。

image-20240621215459846.png

1
2
3
4
5
6
7
1. 创建docker组(如果尚不存在):
sudo groupadd docker
2. 将当前用户添加到docker组:
sudo usermod -aG docker $USER
3. 重新启动Docker服务:
sudo systemctl restart docker
4. 退出当前会话重新连接ssh

6. 配置镜像加速

由于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,

1
2
3
4
5
6
7
vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}

无需限定条件的DockerHub镜像源
DockerHub国内镜像源列表

重新加载配置

1
systemctl daemon-reload

重启docker服务

1
systemctl restart docker

重启完可用docker info命令查看是否添加上镜像,如下图所示:即为添加成功

image-20240621211125316.png

7. 卸载Docker

卸载 Docker 引擎、CLI、containerd 和 Docker Compose 包:

1
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

主机上的映像、容器、卷或自定义配置文件 不会自动删除。要删除所有映像、容器和卷,执行以下操作

1
2
3
4
#删除 Docker 的数据目录。将删除 Docker 安装后创建的所有文件和目录,包括镜像、容器和存储卷等。
sudo rm -rf /var/lib/docker
#删除 containerd 的数据目录。Containerd 是 Docker 使用的容器运行时,删除此目录将删除与 Docker 相关联的所有容器和映像。
sudo rm -rf /var/lib/containerd

使用官方脚本一键安装docker

1
curl -fsSL https://get.docker.com | bash -s docker

可在此命令后附带–mirror参数设置镜像源,以提高国内服务器下载docker的速度

如使用阿里云镜像:

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun