在当今的开发环境中,Docker 已经成为容器化技术的主流选择。它可以帮助开发者轻松地创建、部署和运行应用程序。本文将详细介绍如何在 Ubuntu 系统上安装 Docker 和 Docker Compose,并解决在安装过程中可能遇到的一些常见问题。
一、安装 Docker
1.卸载旧版本的 Docker(如果已安装)
```bash
sudo apt-get remove docker docker-engine docker.io containerd runc
```
2.安装 Docker 的前提条件
• 更新系统包:
```bash
sudo apt-get update
```
• 安装必要的依赖包:
```bash
sudo apt-get install -y ca-certificates curl gnupg
```
3.添加 Docker 的官方 GPG 密钥
```bash
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
```
4.设置 Docker 的 APT 软件源
```bash
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
```
5.安装 Docker Engine
• 更新包索引:
```bash
sudo apt-get update
```
• 安装 Docker Engine 和 containerd:
```bash
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
```
6.验证 Docker 是否安装成功
运行以下命令来验证 Docker 是否正常工作:
```bash
sudo docker run hello-world
```
如果安装成功,会看到类似以下的输出:
```
Hello from Docker!
This message shows that your installation appears to be working correctly.
```
7.(可选)将用户添加到 Docker 组
默认情况下,Docker 命令需要管理员权限(即`sudo`)。为了能够以普通用户身份运行 Docker 命令,可以将用户添加到`docker`组:
```bash
sudo usermod -aG docker ${USER}
```
之后需要重新登录或重启系统,使组变更生效。
8.配置国内镜像源(可选)
由于国外的 Docker Hub 在国内访问速度较慢,可以配置国内的 Docker 镜像源来加速镜像的拉取。以下是配置阿里云镜像源的步骤:
• 创建或编辑 Docker 配置文件:
```bash
sudo nano /etc/docker/daemon.json
```
• 在文件中添加以下内容:
```json
{
"registry-mirrors": ["https://<你的阿里云镜像地址>.mirror.aliyuncs.com"]
}
```
• 保存文件并退出编辑器。
• 重新加载 Docker 配置并重启 Docker 服务:
```bash
sudo systemctl daemon-reload
sudo systemctl restart docker
```
二、安装 Docker Compose
方法 1:使用官方二进制文件安装(推荐)
• 下载 Docker Compose
• 打开终端,运行以下命令下载最新版本的 Docker Compose(以最新版本`v2.32.4`为例):
```bash
sudo curl -L "https://github.com/docker/compose/releases/download/v2.32.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
```
• 如果 GitHub 下载速度较慢,可以使用国内镜像源,例如 DaoCloud 的镜像:
```bash
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.32.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
```
• 添加可执行权限
```bash
sudo chmod +x /usr/local/bin/docker-compose
```
• 创建软链接(可选)
• 如果你希望在任何地方都能直接使用`docker-compose`命令,可以创建一个软链接:
```bash
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
```
• 验证安装
• 运行以下命令验证 Docker Compose 是否安装成功:
```bash
docker-compose --version
```
• 如果安装成功,你会看到类似以下的输出:
```
Docker Compose version v2.32.4
```
方法 2:使用包管理器安装(插件形式)
从 Docker 20.10 版本开始,Docker Compose 被集成到 Docker CLI 插件中,可以通过包管理器直接安装。
• 更新包索引
```bash
sudo apt-get update
```
• 安装 Docker Compose 插件
```bash
sudo apt-get install docker-compose-plugin
```
• 验证安装
• 运行以下命令验证 Docker Compose 插件是否安装成功:
```bash
docker compose version
```
• 如果安装成功,你会看到类似以下的输出:
```
Docker Compose version v2.32.4
```
三、解决安装过程中可能遇到的问题
1.Docker 镜像下载速度慢
即使配置了国内镜像源,Docker Compose 下载镜像仍然很慢,可能是由以下原因导致的:
• 镜像源选择问题:配置的镜像源可能不稳定或速度较慢。建议尝试更换其他国内镜像源,例如阿里云、网易云、腾讯云、中国科学技术大学等。
• 网络问题:网络不稳定或带宽不足,导致镜像下载速度慢。建议检查网络连接,或者使用代理服务器。
• Docker Hub 限流:Docker Hub 对未登录用户进行限流,导致下载速度慢。建议注册 Docker Hub 账号并登录,避免限流。
• 镜像体积过大:某些镜像体积较大,即使使用了加速源,下载时间也可能较长。建议尽量使用轻量级的镜像。
2.无法访问 DaoCloud 镜像源
如果你无法访问 DaoCloud 的镜像源,可以尝试以下替代方法:
• 使用 GitHub 官方链接:从 GitHub 的官方发布页面下载 Docker Compose。
• 离线安装:在有网络的设备上下载 Docker Compose 二进制文件,然后上传到目标服务器进行安装。
• 使用其他工具替代 Docker Compose:例如`nerdctl`是一个替代 Docker 和 Docker Compose 的工具,它支持类似的功能。
• 使用国内开源项目一键安装:例如[LinuxMirrors]()提供了一键安装 Docker 和 Docker Compose 的功能。
四、总结
通过上述步骤,你可以在 Ubuntu 系统上轻松安装并使用 Docker 和 Docker Compose。在安装过程中,如果遇到镜像下载速度慢或无法访问镜像源的问题,可以尝试更换镜像源、优化网络设置或使用离线安装等方法。希望本文能帮助你顺利搭建 Docker 环境,提升开发效率。