你好!你在跟随利用 GitHub Webhook 构建自动部署系统的系列文章吗?如第三篇提到的,Docker 在我们的 CI/CD 管道中扮演着关键角色。
这篇文章将详细介绍如何在未安装 Docker 的服务器上逐步安装 Docker Engine 和 Docker Compose。
1. 删除旧版(可选)
如果你之前安装过 Docker 的非官方版本,建议你首先彻底卸载,然后再开始安装。请运行以下命令删除所有可能导致冲突的现有软件包。
sudo apt-get remove --purge docker docker-engine docker.io containerd runc docker-compose
如果没有重要数据,并且希望干净地重新开始,建议完全清除之前 Docker 的痕迹以恢复初始状态。
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
- 注意:此命令将删除所有容器和镜像数据,因此如果数据重要,请首先进行备份。
2. 设置 Docker 官方仓库
为了稳妥地安装 Docker 的最新版本,需要设置官方 APT 仓库。
# 更新 apt 包
sudo apt-get update
# 安装设置 Docker 官方仓库所需的软件包
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# 添加 Docker 的官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 将 Docker 仓库添加到 APT 仓库中
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 激活 Docker APT 仓库
sudo apt-get update
3. 安装 Docker Engine
现在可以安装 Docker Engine 及相关工具。
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
上述命令将以插件形式一起安装 Docker Engine、CLI 工具、容器运行时(containerd.io
)和 Docker Compose。
4. 确认 Docker 是否安装成功
可以通过运行 hello-world
容器来检查安装是否成功。此命令是确认 Docker 是否正常工作的简单测试。
sudo docker run hello-world
如果看到 "Hello from Docker!" 消息,则表示 Docker Engine 已成功安装。
5. 无需 sudo
使用 Docker 命令(必需)
默认情况下,执行 docker
命令时需要使用 sudo
。但在我们的自动部署系统中,需要以普通用户身份通过 systemd
服务运行 docker
,所以需要设置权限以便无须 sudo
使用 docker
命令。
- 将当前用户添加到
docker
组。
sudo usermod -aG docker $USER
-
必须注销后再登录以应用更改。
-
重新登录后,再次执行
sudo
之外的docker run hello-world
命令以确认正正常工作。
6. 确认 Docker Compose 是否安装成功
由于安装了 docker-compose-plugin
,因此无需再次安装。请使用以下命令检查 docker compose
是否已正常安装。
docker compose version
如果输出 "Docker Compose version v2.x.x" 消息,则表示安装成功。
7. 最后总结
现在你的服务器已经安装了 Docker 和 Docker Compose。请关闭此文档,并返回到我们的主系列利用 GitHub Webhook 构建个人自动部署系统(第三篇),继续进行下一步。通过 Docker 容器化项目并实现自动部署的精彩体验正等着你!
目前没有评论。