下面是 Docker 官方 apt 流程(Ubuntu),装好之后:
- 配置文件:
/etc/docker/daemon.json- 启停:
systemctl- 不再有 snap 沙箱限制
① 先清残留(必跑)
# 如果还有旧 apt 版残留,删掉
sudo apt remove -y docker docker-engine docker.io containerd runc docker-compose
② 安装依赖、导入官方 GPG
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL [https://download.docker.com/linux/ubuntu/gpg](https://download.docker.com/linux/ubuntu/gpg) -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
③ 添加 Docker 官方 apt 源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] [https://download.docker.com/linux/ubuntu](https://download.docker.com/linux/ubuntu) \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
④ 安装(核心)
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
⑤ 验证
sudo systemctl status docker
sudo docker run hello-world
能跑出 hello-world,就是成功。
⑥ 免 sudo(解决你之前 permission denied)
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
稳妥做法:退出 SSH,重连,之后直接敲
docker,不用 sudo
⑦ 直接写入加速器(就是你要的)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"[https://docker.1ms.run](https://docker.1ms.run)",
"[https://docker.daocloud.io](https://docker.daocloud.io)",
"[https://docker.xuanyuan.me](https://docker.xuanyuan.me)"
],
"dns": ["223.5.5.5", "114.114.114.114"],
"ipv6": false
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
再验证源是否加载:
docker info | grep -A 10 "Registry Mirrors"
⑧ 拉取并启动 Uptime Kuma
docker pull louislam/uptime-kuma:1
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
如果官方源拉取很慢
把上面「添加源」那一步换成国内镜像版,例如中科大源:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] [https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu](https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu) \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null