Docker & Docker Compose安装教程

 更新时间:2026年01月13日 08:42:17   作者:techzhi  
本文详细介绍了在Ubuntu 22.04.1 LTS系统上安装和配置Docker的步骤,包括选择合适的存储驱动和日志驱动,生产级配置以及用户权限管理,通过一系列检查步骤和常用命令,确保Docker安装和配置的正确性

1. 环境信息

项目
操作系统Ubuntu 22.04.1 LTS (Jammy)
内核版本5.15.0-164-generic
存储位置/var/lib/docker (根分区,282G可用)
文件系统XFS

2. 安装方案概述

2.1 安装方式

采用 Docker 官方 APT 仓库安装,确保获取最新稳定版本和安全更新。

2.2 安装组件

组件说明
docker-ceDocker Engine 社区版
docker-ce-cliDocker 命令行工具
containerd.io容器运行时
docker-buildx-plugin构建扩展插件
docker-compose-pluginDocker Compose V2 插件

2.3 生产级配置

配置项设置说明
存储驱动overlay2Ubuntu 默认,性能最优
日志驱动json-file默认驱动,配置轮转限制
日志大小限制100MB/文件,3个文件防止日志占满磁盘
开机自启启用systemd 管理
用户权限当前用户加入 docker 组免 sudo 运行
镜像加速国内镜像源加速镜像拉取

3. 实施步骤

3.1 卸载旧版本(如有)

sudo apt-get remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true

3.2 安装依赖包

sudo apt-get update
sudo apt-get install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

3.3 添加 Docker 官方 GPG 密钥

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

3.4 添加 Docker APT 仓库

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

3.5 安装 Docker Engine

sudo apt-get update
sudo apt-get install -y \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin

3.6 配置 Docker Daemon(生产级配置)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  },
  "storage-driver": "overlay2",
  "live-restore": true,
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}
EOF

配置说明:

参数说明
log-driver日志驱动,json-file 为默认
max-size单个日志文件最大 100MB
max-file最多保留 3 个日志文件
storage-driver存储驱动,overlay2 性能最优
live-restore容器在 daemon 重启时保持运行
registry-mirrors国内镜像加速器地址

3.7 启动 Docker 并设置开机自启

sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl start docker

3.8 配置用户权限

sudo usermod -aG docker $USER

注意: 执行后需要重新登录或执行 newgrp docker 使权限生效。

3.9 验证安装

# 检查 Docker 版本
docker --version

# 检查 Docker Compose 版本
docker compose version

# 检查 Docker 服务状态
sudo systemctl status docker

# 运行测试容器
docker run --rm hello-world

4. 验证清单

检查项预期结果命令
Docker 版本显示版本号docker --version
Compose 版本显示版本号docker compose version
服务状态active (running)systemctl status docker
开机自启enabledsystemctl is-enabled docker
用户权限免 sudo 运行docker ps
存储驱动overlay2docker info | grep "Storage Driver"
测试容器Hello from Docker!docker run --rm hello-world

5. 常用命令参考

# 查看 Docker 详细信息
docker info

# 查看运行中的容器
docker ps

# 查看所有容器
docker ps -a

# 查看镜像列表
docker images

# 清理未使用资源
docker system prune -a

# 查看磁盘使用情况
docker system df

6. 故障排查

6.1 服务启动失败

sudo journalctl -xeu docker.service

6.2 权限问题

# 确认用户在 docker 组
groups $USER

# 重新加载组权限
newgrp docker

6.3 网络问题

# 检查 Docker 网络
docker network ls

# 重置 Docker 网络
sudo systemctl restart docker

7. 文档信息

项目
创建时间2026-01-10
目标系统Ubuntu 22.04.1 LTS
Docker 版本29.1.4
Docker Compose 版本v5.0.1
containerd 版本2.2.1

8. 总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker 网络命令详解

    Docker 网络命令详解

    这篇文章主要详细介绍了Docker 网络命令的相关资料,需要的朋友可以参考下
    2017-06-06
  • docker安装fastdfs镜像的一些注意事项

    docker安装fastdfs镜像的一些注意事项

    在安装docker fastdfs镜像时大家需要注意如果是云服务器则需要在云服务器后台的安全组入口方向放开22122、23000以及8888端口,并且在云服务器防火墙配置放开以上三个端口,具体内容详情大家跟随小编一起看看吧
    2021-05-05
  • Docker容器化spring boot应用详解

    Docker容器化spring boot应用详解

    本篇文章主要介绍了Docker容器化spring boot应用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 使用docker部署dubbo项目的方法步骤

    使用docker部署dubbo项目的方法步骤

    这篇文章主要介绍了使用docker部署dubbo项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Docker大型项目容器化改造

    Docker大型项目容器化改造

    今天小编就为大家分享一篇关于Docker大型项目容器化改造,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 使用docker创建静态网站应用(多种方式)

    使用docker创建静态网站应用(多种方式)

    这篇文章主要介绍了使用docker创建静态网站应用(多种方式),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Docker搭建Gazee的实现示例

    Docker搭建Gazee的实现示例

    Gazee 是一个 Web 应用,专门用于阅读和管理数字漫画,本文主要介绍了Docker搭建Gazee的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • SpringBoot打包docker镜像发布的详细步骤

    SpringBoot打包docker镜像发布的详细步骤

    这篇文章主要介绍了SpringBoot打包docker镜像发布,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • docker中的load和save镜像重命名介绍

    docker中的load和save镜像重命名介绍

    使用docker save保存镜像时若仅用IMAGEID,加载后镜像名会显示为<none>,因未包含REPOSITORY和TAG信息,解决方法:加载后用docker tag命令手动指定新名称和标签
    2025-09-09
  • Docker 数据卷权限实例详解

    Docker 数据卷权限实例详解

    这篇文章主要介绍了Docker 数据卷权限实例详解的相关资料,在运行Docker 容器的时候需要添加权限,这里就给大家举例说明如何实现,需要的朋友可以参考下
    2016-11-11

最新评论