跳到主要内容Ubuntu 22.04 安装 Docker 及 Docker Compose v2 教程 | 极客日志Shell / Bash
Ubuntu 22.04 安装 Docker 及 Docker Compose v2 教程
Ubuntu 22.04 系统下 Docker 引擎与 Docker Compose v2 的完整安装指南。涵盖系统更新、依赖安装、Docker 官方源配置(含阿里云镜像加速)、非 root 用户权限设置以及 Docker Compose v2 插件安装与别名配置。提供 Nginx 容器编排示例,解决国内网络环境下镜像拉取慢问题,并包含环境验证与常见错误排查方法,适用于 DevOps 工程师及容器化部署初学者进行本地或服务器环境搭建。
念念不忘1 浏览 1.1 系统更新与依赖安装
首先更新系统包索引,安装 Docker 所需的依赖工具(如 apt-transport-https、ca-certificates 等),确保后续安装顺利。
sudo apt update -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
1.2 关闭防火墙(可选,避免端口拦截)
Ubuntu 22.04 默认启用 ufw 防火墙,若后续容器端口映射无法访问,可临时关闭(生产环境建议按需开放端口,而非直接关闭)。
sudo ufw disable
sudo ufw status
二、安装 Docker 引擎
2.1 配置 Docker 官方 GPG 密钥
导入 Docker 阿里云镜像源的密钥,确保软件包的真实性。
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2.2 添加 Docker 软件源(优先阿里云镜像源)
默认官方源在国内访问较慢,此处直接配置阿里云 Docker 镜像源,提升安装速度。
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2.3 安装 Docker Engine
更新包索引后,安装最新版 Docker Engine(包含 docker-ce、docker-ce-cli、containerd.io)。
sudo apt update -y
sudo apt install -y docker-ce docker-ce-cli containerd.io
2.4 验证 Docker 安装成功
启动 Docker 服务并运行 hello-world 容器,验证 Docker 引擎是否正常工作。
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
sudo docker run hello-world
若输出 Hello from Docker! 相关信息,说明 Docker 安装成功。
2.5 配置 Docker 镜像加速(解决拉取慢问题)
为 Docker 配置国内镜像加速器(阿里云、网易云均可),大幅提升镜像拉取速度。以阿里云为例:
- 登录阿里云容器镜像服务(需注册阿里云账号),在「镜像工具」-「镜像加速器」中获取专属加速地址(每个人的地址不同)。
- 创建 Docker 配置目录并编写加速配置文件:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker info | grep "Registry Mirrors"
2.6 配置非 root 用户运行 Docker(可选)
默认情况下,只有 root 用户和 docker 组用户可运行 Docker 命令,为避免每次输入 sudo,可将当前用户加入 docker 组:
sudo usermod -aG docker $USER
docker info
三、安装 Docker Compose v2
3.1 配置 Docker 阿里软件源
由于你已安装 Docker,先更新 Docker 软件源为阿里源,保证 docker-compose-plugin 包可正常获取:
sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.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.2 核心步骤:安装 Docker Compose v2 插件(docker-compose-plugin)
Docker Compose v2 在 Ubuntu 软件源中以 docker-compose-plugin 包的形式提供,直接通过 apt 安装即可(阿里源已配置,无需额外下载):
sudo apt install -y docker-compose-plugin
3.3 (可选)优化:配置命令别名(兼容 v1 习惯)
如果你习惯使用 v1 的 docker-compose(带短横线)命令,可以添加别名实现兼容,无需修改原有操作习惯:
alias docker-compose='docker compose'
echo "alias docker-compose='docker compose'" >> ~/.bashrc
source ~/.bashrc
配置完成后,即可使用 docker-compose version 验证别名是否生效。
四、Docker Compose v2 基础使用示例
以运行一个简单的 Nginx 容器为例,演示 Docker Compose v2 的使用流程。
mkdir -p ~/docker-compose-demo && cd ~/docker-compose-demo
tee docker-compose.yml <<-'EOF'
version: '3.8'
services:
nginx:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./nginx/html:/usr/share/nginx/html
restart: always
EOF
mkdir -p ./nginx/html
echo "<h1>Docker Compose v2 Test (Ubuntu22.04)</h1>" > ./nginx/html/index.html
docker-compose up -d
docker-compose ps
curl http://localhost:8080
若输出 <h1>Docker Compose v2 Test (Ubuntu22.04)</h1>,说明 Docker Compose 运行正常。后续可通过 docker-compose down 停止并删除容器。
五、补充说明
- Docker Compose v2 的配置文件仍支持
docker-compose.yml(或 docker-compose.yaml),功能与 v1 完全兼容且性能更优;
- 若安装过程中提示包不存在,可重新执行
sudo apt update 刷新软件源索引后重试;
- 阿里源的
docker-ce 仓库已包含最新版 docker-compose-plugin,无需额外手动下载二进制文件。
六、总结
本文完成了 Ubuntu 22.04 系统下 Docker 引擎与 Docker Compose v2 的完整安装,核心优化了中国网络环境下的镜像源和加速配置,同时覆盖了权限配置、基础使用及常见问题排查。后续可结合实际业务场景,使用 Docker Compose 编排微服务容器,提升部署效率。若需进一步配置 Docker 集群(如 Swarm)或集成 CI/CD 流程,可参考官方文档或相关技术教程。
微信扫一扫,关注极客日志
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
相关免费在线工具
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown转HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
- HTML转Markdown
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
- JSON 压缩
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
- JSON美化和格式化
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online