ubuntu安装docker

本文最后更新于:2022年10月19日 晚上

1 卸载旧版本

Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:

1
sudo apt-get remove docker docker-engine docker.io containerd runc

2 设置仓库

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,可以从仓库安装和更新 Docker 。

更新 apt 包索引:

1
sudo apt-get update

安装 apt 依赖包,用于通过HTTPS来获取仓库:

1
2
3
4
5
6
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common

添加 Docker 的官方 GPG 密钥:

1
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

使用以下指令设置稳定版仓库:

1
2
3
4
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) \
stable"

3 安装 Docker Engine-Community

更新 apt 包索引:

1
sudo apt-get update

3.1 安装最新版本

安装最新版本的 Docker Engine-Community 和 containerd :

1
sudo apt-get install docker-ce docker-ce-cli containerd.io

测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功:

1
sudo docker run hello-world

3.2 安装特定版本

要安装特定版本的 Docker Engine-Community,请在仓库中列出可用版本,然后选择一种安装。列出您的仓库中可用的版本:

1
apt-cache madison docker-ce

使用第二列中的版本字符串安装特定版本,例如 5:20.10.20~3-0~ubuntu-focal:

1
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

4 卸载 Docker

删除安装包:

1
sudo apt-get purge docker-ce

删除镜像、容器、配置文件等内容:

1
sudo rm -rf /var/lib/docker

5 解决 Docker 运行命令时提示“Got permission denied while trying to connect to the Docker daemon socket…”

运行 Docker 命令时,会报错:

1
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

原因是因为 Docker 进程使用 Unix Socket 而不是 TCP 端口,而默认情况下,Unix socket 属于 root 用户,因此需要 root 权限才能访问。

5.1 解决方法 1

使用sudo获取管理员权限,运行 Docker 命令。

5.2 解决方法 2

docker 守护进程启动的时候,会默认赋予名字为 docker 的用户组读写 Unix socket 的权限,因此只要创建 docker 用户组,并将当前用户加入到 docker 用户组中,那么当前用户就有权限访问 Unix socket 了,进而也就可以执行 docker 相关命令。

1
2
3
4
sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用

参考链接:

  1. https://www.runoob.com/docker/ubuntu-docker-install.html

  2. https://blog.csdn.net/weixin_42447403/article/details/123796067


ubuntu安装docker
https://summersong.top/post/e682a2c1.html
作者
SummerSong
发布于
2022年10月19日
更新于
2022年10月19日
许可协议