一、docker安装
- 卸载旧版本(如果没有安装过docker,可忽略这一步)
sudo apt remove docker docker-engine docker.io containerd runc
- 依赖安装
# 更新索引并安装基础工具
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
- 添加docker官方GPG密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com | 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://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb-release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新索引,使新仓库生效
sudo apt update
- 安装docker核心组件
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 启动与验证
# 启动并设置开机自启
sudo systemctl enable --now docker
# 运行测试容器验证安装结果
sudo docker run hello-world
二、阿里云镜像加速器配置
- 上述过程为Linux系统下安装docker的流程。镜像加速器配置对应(二)。
- Windows系统下安装Docker Desktop依赖于wsl2虚拟化,加速器在Docker Desktop上进行配置,对应(一):
# (一)WSL + Docker Desktop
Windows
└── Docker Desktop
└── Docker daemon(真正跑容器)
WSL Ubuntu
└── docker CLI(只是客户端)
# (二)WSL中直接安装docker(无Docker Desktop)
WSL Ubuntu
└── dockerd(你自己装的)
Windows
└── Docker Desktop
└── Docker daemon (dockerd)
└── /var/lib/docker ← 在 Desktop VM 内
WSL Ubuntu
└── docker CLI(snap 版)
└── 通过 socket 连接 Desktop daemon
(一) WSL + Docker Desktop
- 查看加速器地址:登录阿里云,点击容器-容器镜像服务ACR-镜像工具-镜像加速器-加速器地址
- 在Docker Desktop的设置中,找到Docker Engine:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://自己的镜像加速器地址"
]
}
(二) WSL中直接安装docker(无Docker Desktop)
- 通过修改daemon配置文件(
/etc/docker/daemon.json)来使用加速器。首先确认docker实际读取的是哪个配置:
docker info | grep -i registry/mirror
如果有输出,说明docker已读取到daemon.json中的配置。如果不存在输出,说明未配置过daemon级参数:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["此处替换为自己的镜像加速器地址"]
}
EOF
- 每次修改daemon.json后,重启docker
# 重启docker--方法1
sudo service docker stop
wsl --shutdown
sudo service docker start
# 重启docker--方法2
sudo service docker restart
wsl --shutdown
# 清除所有失败缓存
docker system prune -af
3、其他(检查是否有代理配置,可能影响镜像拉取)
env | grep -i proxy