Ubuntu20.04部署docker及docker-compose(使用国内镜像源)
一、卸载系统原有旧版本Docker
首先清理系统中可能存在的旧版本Docker相关包:
sudo apt remove -y docker docker-engine docker.io containerd runc
sudo apt autoremove -y
二、安装必要依赖包
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
三、添加国内Docker GPG密钥
选择以下任意一个国内镜像源的GPG密钥(推荐清华大学或阿里云):
#方案1:清华大学镜像源(推荐)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
#方案2:阿里云镜像源
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
sudo chmod a+r /etc/apt/keyrings/docker.gpg
#方案3:中国科学技术大学镜像源
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
四、配置国内Docker APT软件源
根据您选择的GPG密钥,对应配置相同的软件源:
对应方案1:清华大学源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
对应方案2:阿里云源
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
对应方案3:中科大源
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
五、安装Docker CE及相关组件
sudo apt update -y
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose
六、配置Docker国内镜像加速器
这是关键步骤,解决后续拉取Docker镜像速度慢或失败的问题:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.xuanyuan.me",
"https://docker.1ms.run",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.baidubce.com"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
EOF

重启Docker服务使配置生效,并查看服务状态:
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker

七、验证安装是否成功
# 验证Docker版本
docker --version
正常输出示例:

# 验证Docker Compose插件
docker-compose version
正常输出示例:

# 运行测试容器
sudo docker run --rm hello-world
如果看到"Hello from Docker!"的欢迎信息,说明Docker安装和配置完全成功。

八、(可选)将当前用户添加到docker组
避免每次使用docker命令都需要sudo:
sudo usermod -aG docker $USER
重要:执行完此命令后,需要重启才能生效。
九、如果上述在线安装仍失败:离线安装方案
如果你的环境完全无法访问外部网络,可以使用离线安装方式:
步骤1:在有网络的机器上下载离线包
访问阿里云镜像站下载对应Ubuntu 20.04(focal)的deb包:
地址:https://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/focal/pool/stable/amd64/
需要下载以下5个文件(版本号可能不同,下载最新版即可):
1. containerd.io_*.deb
2. docker-ce-cli_*.deb
3. docker-ce_*.deb
4. docker-buildx-plugin_*.deb
5. docker-compose-plugin_*.deb
步骤2:将下载的deb包上传到目标虚拟机
步骤3:按顺序安装离线包
sudo dpkg -i containerd.io_*.deb
sudo dpkg -i docker-ce-cli_*.deb
sudo dpkg -i docker-ce_*.deb
sudo dpkg -i docker-buildx-plugin_*.deb
sudo dpkg -i docker-compose-plugin_*.deb
步骤4:启动Docker服务并配置镜像加速器
sudo systemctl enable --now docker
然后按照第六步配置国内镜像加速器。
十、常见问题解决
1. GPG密钥验证失败:重新执行第三步下载GPG密钥
2. apt update失败:尝试更换其他国内镜像源
3. docker命令执行权限不足:执行第八步并重新登录
4. 镜像拉取失败:检查daemon.json配置是否正确,重启Docker服务
更多推荐
所有评论(0)