Skip to content

Docker——容器化技术,擦屁股的神

约 354 个字 22 行代码 预计阅读时间 2 分钟

无需多言,这鲸鱼真王朝过。

在 Ubuntu 上安装

我安装的环境是 Ubuntu 20.04.06 LTS (Focal Fossa),参考官方文档

1.1 卸载冲突的软件包

运行以下命令卸载冲突的软件包。

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

1.2 通过脚本安装

我的 Ubuntu 版本失去了 Docker 官方支持,必须通过脚本下载……

1.2.1 运行脚本安装 Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh

这个过程中脚本有关于 SSL 证书的报错,推测是curl和网络证书的问题,需要重装一下。

sudo apt-get update
sudo apt-get install --reinstall ca-certificates curl openssl

脚本最后安装的时候会请求到一个不在该版本 Ubuntu 存储库中的包,所以最后需要手动安装一下。

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

1.3 换源

没办法,现在版本如此。

之前国内大的镜像源挂得差不多了,去网上搜集了一下能用的整理在了下表当中。

连接 当前状态
docker.m.daocloud.io 可用
docker.1ms.run 可用
lispy.org 可用

临时换源使用如下格式。

sudo docker pull lispy.org/hello-world

永久换源需要修改相应的配置文件/etc/docker/daemon.json

sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.1ms.run",
        "https://lispy.org"
    ]
}
EOF

然后重启docker服务。

sudo systemctl daemon-reload && sudo systemctl restart docker

1.4 docker用户组——无需sudo也可以跑docker

创建一个用户组为docker(某些发行版在安装的时候就已经创建好了)

sudo groupadd docker

将当前用户设置为docker组成员/添加其他用户为docker组成员。

sudo usermod -aG docker $USER
sudo usermod -aG docker username

刷新用户组修改,

newgrp docker

1.5 验证

docker run hello-world

出现如下内容就算成功!