运维监控HOT
Ubuntu 安装 Docker 和 Docker Compose
2026-04-28·5 分钟阅读
Ubuntu 装 Docker 最省事的方式是用官方源,系统自带 apt 仓库里的 docker.io 版本太老,不推荐。
卸载旧版本
之前装过 Docker 的话先清理:
bash双击代码复制
sudo apt remove docker docker-engine docker.io containerd runc安装依赖
bash双击代码复制
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release添加 Docker 官方源
添加 GPG 密钥和 apt 源,这里分两种情况。
国外服务器(可以直接访问 docker.com)
bash双击代码复制
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
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国内服务器(用清华镜像源)
bash双击代码复制
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
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安装 Docker
bash双击代码复制
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin验证:
bash双击代码复制
sudo docker run hello-world非 root 用户执行 docker(可选)
每次加 sudo 比较麻烦,把当前用户加到 docker 组:
bash双击代码复制
sudo usermod -aG docker $USER
newgrp docker配置镜像加速器
国内拉 Docker Hub 镜像很慢,建议配置 mirrors。编辑 /etc/docker/daemon.json:
json双击代码复制
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}重启:
bash双击代码复制
sudo systemctl daemon-reload
sudo systemctl restart docker确认生效:
bash双击代码复制
docker info | grep -A 5 "Registry Mirrors"配置 HTTP 代理
如果 Docker 需要通过代理拉镜像,可以在 daemon.json 中配置。编辑 /etc/docker/daemon.json(和镜像加速器配在一起):
json双击代码复制
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
],
"proxies": {
"http-proxy": "http://127.0.0.1:7890",
"https-proxy": "http://127.0.0.1:7890",
"no-proxy": "localhost,127.0.0.1,.local"
}
}端口根据你的代理软件设置,Clash 默认 7890。
重启 Docker:
bash双击代码复制
sudo systemctl restart docker确认:
bash双击代码复制
docker info | grep -i proxyDocker Compose
新版 Docker 已经把 Compose 作为插件集成进来了,上面安装 docker-compose-plugin 后直接使用:
bash双击代码复制
docker compose version如果要手动安装独立版本:
bash双击代码复制
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose国内服务器 curl GitHub 可能超时,可以加代理下载:
bash双击代码复制
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890验证:
bash双击代码复制
docker compose version