以下是在 Ubuntu 系统上安装最新版 Docker Engine 和 Docker Compose 的步骤。Docker Compose 现已集成到 Docker CLI 中,作为插件运行(即 docker compose
,而不是老式的 docker-compose
)。
准备
- 操作系统:Ubuntu 20.04 或更高版本。
- 权限:需要 root 或 sudo 权限。
- 网络:确保服务器可以访问 Docker 官方仓库。
更新系统包索引
1sudo apt update
2sudo apt upgrade -y
安装必要的依赖
安装一些必要的工具,以便添加 Docker 的官方仓库:
1sudo apt install -y ca-certificates curl gnupg lsb-release
添加 Docker 的 GPG 密钥
1sudo mkdir -p /etc/apt/keyrings
2curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
添加 Docker 官方仓库
将 Docker 的 APT 仓库添加到系统中:
1echo "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
安装 Docker Engine
更新包索引并安装最新版的 Docker Engine、CLI 和相关组件:
1sudo apt update
2sudo apt install -y docker-ce docker-ce-cli containerd.io
验证 Docker 安装
检查 Docker 版本并运行一个测试容器:
1docker --version
2sudo docker run hello-world
- 如果看到
Hello from Docker!
的输出,说明安装成功。
(可选)允许非 root 用户运行 Docker
将当前用户添加到 docker
组:
1sudo usermod -aG docker $USER
2newgrp docker
- 退出并重新登录终端以应用更改。
安装 Docker Compose 最新版
Docker Compose V2(最新版)现已作为 Docker CLI 的插件提供,不再是独立的 docker-compose
工具。以下是安装方法:
安装 Docker Compose 插件
通过 APT 安装最新版的 Docker Compose 插件:
1sudo apt install -y docker-compose-plugin
验证 Docker Compose 安装
检查版本:
1docker compose version
- 输出示例:
Docker Compose version v2.24.7
。 - 注意:命令是
docker compose
(空格分隔),而不是老式的docker-compose
。
(可选)手动安装最新版
如果 APT 提供的版本不是最新的,可以从 GitHub Releases 手动下载:
- 检查最新版本号:访问 https://github.com/docker/compose/releases。
- 下载并安装(替换为最新版本,下面以v2.24.7版本为例):
1DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} 2mkdir -p $DOCKER_CONFIG/cli-plugins 3curl -SL https://github.com/docker/compose/releases/download/v2.24.7/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose 4chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
- 再次验证:
1docker compose version
测试 Docker Compose
创建一个简单的 docker-compose.yml
文件测试环境:
1mkdir ~/test-compose
2cd ~/test-compose
3nano docker-compose.yml
粘贴以下内容:
1version: '3'
2services:
3 web:
4 image: nginx:latest
5 ports:
6 - "8080:80"
保存并退出(Ctrl+O
,回车,Ctrl+X
)。
启动服务:
1docker compose up -d
- 访问
http://你的服务器IP:8080
,应该看到 Nginx 的欢迎页面。
停止并清理:
1docker compose down
优化
国内网络优化(docker正常拉取镜像可跳过):
- 国内服务器上安装可能无法访问docker,需要配置镜像加速或代理,代理方式需要有国外服务器并且国内可访问,不推荐。
配置镜像加速编辑
/etc/docker/daemon.json
:
1{
2 "registry-mirrors": [
3 "https://docker.unsee.tech",
4 "https://dockerpull.org",
5 "https://dockerhub.icu",
6 "https://docker.registry.cyou",
7 "https://docker-cf.registry.cyou",
8 "https://dockercf.jsdelivr.fyi",
9 "https://docker.jsdelivr.fyi",
10 "https://dockertest.jsdelivr.fyi",
11 "https://mirror.aliyuncs.com",
12 "https://dockerproxy.com",
13 "https://mirror.baidubce.com",
14 "https://docker.m.daocloud.io",
15 "https://docker.nju.edu.cn",
16 "https://docker.mirrors.sjtug.sjtu.edu.cn",
17 "https://docker.mirrors.ustc.edu.cn",
18 "https://mirror.iscas.ac.cn",
19 "https://docker.rainbond.cc",
20 "https://do.nark.eu.org",
21 "https://dc.j8.work",
22 "https://dockerproxy.com",
23 "https://gst6rzl9.mirror.aliyuncs.com",
24 "https://registry.docker-cn.com",
25 "http://hub-mirror.c.163.com",
26 "http://mirrors.ustc.edu.cn/",
27 "https://mirrors.tuna.tsinghua.edu.cn/"
28 ]
29}
- 重启 Docker:
1sudo systemctl daemon-reload
2sudo systemctl restart docker