news 2026/8/2 16:19:26

Ubuntu22.04 安装 Docker 及 Docker Compose v2 详细教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu22.04 安装 Docker 及 Docker Compose v2 详细教程

本文针对 Ubuntu 22.04 LTS 系统,提供 Docker 引擎与 Docker Compose v2 的完整安装步骤,重点解决中国网络环境下的镜像拉取慢、依赖安装失败等问题,同时包含环境验证、基础配置及常见错误排查,适合 Java 后端开发、DevOps 工程师及容器化部署初学者。

一、前置准备

1.1 系统更新与依赖安装

首先更新系统包索引,安装 Docker 所需的依赖工具(如 apt-transport-https、ca-certificates 等),确保后续安装顺利。

# 更新系统包索引sudoaptupdate -y# 安装必要依赖,允许 apt 通过 HTTPS 使用仓库sudoaptinstall-y apt-transport-https ca-certificatescurlsoftware-properties-common gnupg lsb-release

1.2 关闭防火墙(可选,避免端口拦截)

Ubuntu 22.04 默认启用 ufw 防火墙,若后续容器端口映射无法访问,可临时关闭(生产环境建议按需开放端口,而非直接关闭)。

# 关闭 ufw 防火墙sudoufw disable# 验证防火墙状态(显示 inactive 即为关闭)sudoufw status

二、安装 Docker 引擎

2.1 配置 Docker 官方 GPG 密钥

导入 Docker 阿里云镜像源的密钥,确保软件包的真实性。

curl-fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg|sudogpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

2.2 添加 Docker 软件源(优先阿里云镜像源)

默认官方源在国内访问较慢,此处直接配置阿里云 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"|sudotee/etc/apt/sources.list.d/docker.list>/dev/null

2.3 安装 Docker Engine

更新包索引后,安装最新版 Docker Engine(包含 docker-ce、docker-ce-cli、containerd.io)。

# 再次更新包索引(使 Docker 源生效)sudoaptupdate -y# 安装 Docker Enginesudoaptinstall-y docker-ce docker-ce-cli containerd.io

2.4 验证 Docker 安装成功

启动 Docker 服务并运行 hello-world 容器,验证 Docker 引擎是否正常工作。

# 启动 Docker 服务并设置开机自启sudosystemctl startdockersudosystemctlenabledocker# 验证 Docker 服务状态(显示 active (running) 即为正常)sudosystemctl statusdocker# 运行 hello-world 容器(拉取测试镜像并启动)sudodockerrun hello-world

若输出Hello from Docker!相关信息,说明 Docker 安装成功。

2.5 配置 Docker 镜像加速(解决拉取慢问题)

为 Docker 配置国内镜像加速器(阿里云、网易云均可),大幅提升镜像拉取速度。以阿里云为例:

  1. 登录 阿里云容器镜像服务(需注册阿里云账号),在「镜像工具」-「镜像加速器」中获取专属加速地址(每个人的地址不同)。

  2. 创建 Docker 配置目录并编写加速配置文件:

# 创建 Docker 配置目录sudomkdir-p /etc/docker# 编写镜像加速配置(替换为你的阿里云加速地址)sudotee/etc/docker/daemon.json<<-'EOF' { "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } EOF# 重启 Docker 服务使配置生效sudosystemctl daemon-reloadsudosystemctl restartdocker

验证加速配置是否生效:

sudodockerinfo|grep"Registry Mirrors"

若输出配置的加速地址,说明配置成功。

2.6 配置非 root 用户运行 Docker(可选)

默认情况下,只有 root 用户和 docker 组用户可运行 Docker 命令,为避免每次输入 sudo,可将当前用户加入 docker 组:

# 将当前用户加入 docker 组sudousermod-aGdocker$USER# 注销当前用户并重新登录(使权限生效)# 重新登录后验证(无需 sudo 运行 docker 命令)dockerinfo

三、安装 Docker Compose v2

3.1 配置Docker阿里软件源

由于你已安装Docker,先更新Docker软件源为阿里源,保证docker-compose-plugin包可正常获取:

  1. 安装必要依赖包
sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
  1. 添加阿里Docker官方GPG密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. 配置阿里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
  1. 更新软件包索引
sudo apt update

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(带短横线)命令,可以添加别名实现兼容,无需修改原有操作习惯:

  1. 临时别名(仅当前终端有效)
alias docker-compose='docker compose'
  1. 永久别名(所有终端、重启后仍有效)
# 写入用户环境变量配置文件 echo "alias docker-compose='docker compose'" >> ~/.bashrc # 生效配置(如果使用zsh,替换为 source ~/.zshrc) source ~/.bashrc

配置完成后,即可使用docker-compose version验证别名是否生效。

四、Docker Compose v2 基础使用示例

以运行一个简单的 Nginx 容器为例,演示 Docker Compose v2 的使用流程。

# 创建示例目录并进入mkdir-p ~/docker-compose-demo&&cd~/docker-compose-demo# 创建 docker-compose.yml 文件teedocker-compose.yml<<-'EOF' version: '3.8' services: nginx: image: nginx:latest ports: - "8080:80" volumes: - ./nginx/html:/usr/share/nginx/html restart: always EOF# 创建 Nginx 静态文件目录并添加测试页面mkdir-p ./nginx/htmlecho"<h1>Docker Compose v2 Test (Ubuntu22.04)</h1>">./nginx/html/index.html# 启动容器(后台运行)docker-composeup -d# 验证容器状态docker-composeps# 访问测试(本地访问或远程访问服务器 IP:8080)curlhttp://localhost:8080

若输出<h1>Docker Compose v2 Test (Ubuntu22.04)</h1>,说明 Docker Compose 运行正常。后续可通过docker-compose down停止并删除容器。

五、补充说明

  1. Docker Compose v2的配置文件仍支持docker-compose.yml(或docker-compose.yaml),功能与v1完全兼容且性能更优;

  2. 若安装过程中提示包不存在,可重新执行sudo apt update刷新软件源索引后重试;

  3. 阿里源的docker-ce仓库已包含最新版docker-compose-plugin,无需额外手动下载二进制文件。

六、总结

本文完成了 Ubuntu22.04 系统下 Docker 引擎与 Docker Compose v2 的完整安装,核心优化了中国网络环境下的镜像源和加速配置,同时覆盖了权限配置、基础使用及常见问题排查。后续可结合实际业务场景,使用 Docker Compose 编排微服务容器,提升部署效率。若需进一步配置 Docker 集群(如 Swarm)或集成 CI/CD 流程,可参考官方文档或相关技术教程。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 19:06:16

Python内存泄漏排查全攻略(基于gc模块的深度诊断方案)

第一章&#xff1a;Python内存泄漏排查全攻略&#xff08;基于gc模块的深度诊断方案&#xff09;Python 的自动垃圾回收机制虽强大&#xff0c;但循环引用、全局缓存、未注销回调等场景仍易引发内存泄漏。gc 模块是定位此类问题的核心工具&#xff0c;它暴露了底层引用计数与分…

作者头像 李华
网站建设 2026/7/30 15:02:32

虚拟线程性能测试曝光:为什么说它是Java高并发的未来?

第一章&#xff1a;虚拟线程性能测试报告概述随着Java平台对高并发场景的持续优化&#xff0c;虚拟线程&#xff08;Virtual Threads&#xff09;作为Project Loom的核心成果&#xff0c;显著降低了编写高吞吐服务器应用的复杂性。本报告旨在系统评估虚拟线程在典型负载下的性能…

作者头像 李华
网站建设 2026/7/31 3:58:51

大模型相关概念 - 扩展知识理解

检索增强生成&#xff08;RAG - Retrieval-Augmented Generation&#xff09; 用户输入问题&#xff0c;AI 结合知识库内容和相关知识&#xff0c;生成准确、真实、具有时效性的回答结果。 生成流程 检索阶段&#xff1a;根据用户输入内容&#xff0c;AI 在知识库中检索相关…

作者头像 李华
网站建设 2026/7/31 7:57:45

放弃大厂 offer 做自由职业?程序员必看的避坑指南

决定是作为传统的全职员工还是作为自由职业者工作可能很困难。一些程序员更愿意寻找合同工作并独立工作&#xff0c;而不是在大公司作为全职程序员工作。其他人不适合这种生活方式或工作方式。作为自由程序员工作是一个有吸引力的选择。每个人都喜欢穿着睡衣上班、自己当老板和…

作者头像 李华