🔍搜索⌘K

Docker 与 Docker Compose 全平台安装指南

概述

Docker 作为开源应用容器引擎,核心价值在于 “一次打包,到处运行”—— 开发者可将应用及依赖封装为标准化 “镜像”,发布到任意支持 Docker 的平台(Linux/Windows/MacOS),无需担心环境差异导致的 “本地能跑,线上崩了” 问题。而 Docker Compose 则是 Docker 的 “多容器管理工具”,能通过一个配置文件定义多个关联容器(如 “Web 服务 + 数据库 + 缓存”),实现 “一键启动 / 停止”,大幅简化多容器应用的部署流程。

本文覆盖 Windows、MacOS、Ubuntu、CentOS 四大主流平台,提供 Docker 与 Docker Compose 的完整安装步骤,同时包含 “镜像源加速”“免 sudo 使用 Docker”“快捷键冲突解决” 等实用配置,新手可按平台对照操作,快速搭建容器化开发环境。

一、Docker 安装:分平台操作指南

Docker 对不同平台的安装方式差异较大,Windows/MacOS 提供可视化安装包,Linux(Ubuntu/CentOS)则通过包管理器或官方脚本安装,以下分平台详细说明。

1. Windows & MacOS:可视化安装(最简单)

Windows 和 MacOS 用户可直接下载 Docker 官方社区版(CE),安装过程无需复杂命令,且默认集成 Docker Compose(后续无需单独安装)。

操作步骤:

  1. 下载安装包:访问 Docker 官网下载页,根据系统选择 “Docker Desktop for Windows” 或 “Docker Desktop for Mac”(社区版免费,企业版 EE 需付费,开发用 CE 足够);
  2. 安装 Docker:
    • Windows:双击安装包,按提示勾选 “使用 WSL 2 而不是 Hyper-V”(WSL 2 性能更优,需提前启用 WSL 功能),等待安装完成后启动 Docker;
    • MacOS:将下载的 .dmg 文件拖入应用程序,启动后在状态栏看到 Docker 图标(鲸鱼图标)即表示启动成功;
  3. 验证安装:打开终端(Windows 用 PowerShell 或 WSL 终端,MacOS 用终端),执行 docker —version,若输出类似 Docker version 20.10.x, build xxx,说明安装成功。

注意事项:

  • Windows 系统需满足:Windows 10 专业版 / 企业版(支持 Hyper-V)或 Windows 10 家庭版(需启用 WSL 2);
  • MacOS 系统需满足:MacOS 10.15+(Catalina 及以上),M1/M2 芯片需下载适配 ARM 架构的安装包。

2. Ubuntu 系统:APT 包管理器安装(Debian 系通用)

Ubuntu 官方软件源包含 Docker 包,可直接通过 apt 命令安装,步骤简洁,适合新手。

操作步骤:

# 1. 更新系统包索引(确保获取最新软件信息)
sudo apt update

# 2. 安装 Docker CE(社区版)
sudo apt install -y docker.io

# 3. 验证 Docker 是否安装成功(输出版本信息即正常)
docker --version

3. CentOS 系统:官方脚本安装(RHEL 系通用)

CentOS 官方源中 Docker 版本较旧,推荐使用 Docker 官网脚本安装,并通过阿里云镜像加速,避免下载缓慢。

操作步骤:

# 1. 下载 Docker 官方安装脚本(保存为 get-docker.sh)
curl -fsSL get.docker.com -o get-docker.sh

# 2. 执行脚本安装,指定阿里云镜像(加速下载)
sudo sh get-docker.sh --mirror Aliyun

# 3. 验证安装(输出版本信息即正常)
docker --version

二、Docker 基础配置:免 sudo + 镜像加速 + 快捷键优化

安装完成后,需进行三项关键配置:免 sudo 使用 Docker(避免每次输入密码)、配置镜像源(加速拉取镜像)、修改快捷键(解决命令行冲突),这是提升 Docker 使用体验的核心步骤。

1. 免 sudo 使用 Docker(所有 Linux 系统通用)

默认情况下,Docker 命令需 sudo 权限(因 Docker 守护进程归 root 所有),通过创建 docker 组并添加当前用户,可实现免 sudo 操作。

# 1. 创建 docker 用户组(若已存在则忽略)
sudo groupadd docker

# 2. 将当前用户加入 docker 组($USER 表示当前登录用户)
sudo usermod -aG docker $USER

# 3. 重启 Docker 服务(使权限配置生效)
sudo systemctl restart docker

生效方式:

  • 配置后需 退出当前终端并重新登录(或执行 newgrp docker 临时生效),再执行 docker ps,若不报错,说明免 sudo 配置成功。

2. 配置镜像源:加速拉取 Docker 镜像

Docker 默认从官方仓库(Docker Hub)拉取镜像,国内访问速度较慢,需配置国内镜像源(如中科大、阿里云),提升拉取速度。

操作步骤:

# 1. 创建/修改 Docker 守护进程配置文件(daemon.json)
# 中科大镜像源:https://docker.mirrors.ustc.edu.cn
# 阿里云镜像源:需先注册阿里云账号,在“容器镜像服务”中获取专属地址(更稳定)
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF

# 2. 重新加载 Docker 守护进程配置
sudo systemctl daemon-reload

# 3. 重启 Docker 服务(使镜像源配置生效)
sudo systemctl restart docker

# 4. 验证配置(输出包含镜像源地址即正常)
docker info | grep "Registry Mirrors"

阿里云镜像源获取方式:

  1. 登录 阿里云控制台;
  2. 进入 “容器镜像服务 → 镜像工具 → 镜像加速器”,复制专属加速地址(如 https://abc123.mirror.aliyuncs.com),替换上述命令中的中科大地址即可。

3. 修改快捷键:解决 Ctrl+P 冲突

Docker 默认 “后台运行容器” 的快捷键是 Ctrl+P,但这与终端中 “上一条命令” 的快捷键冲突(如 Bash/Zsh 中 Ctrl+P 唤起历史命令)。通过修改 Docker 配置,将快捷键改为 Ctrl+Q, Q(连续按两次 Q),避免冲突。

# 1. 创建当前用户的 Docker 配置目录(若不存在)
mkdir -p ~/.docker

# 2. 写入快捷键配置(detachKeys 表示“后台运行”快捷键)
tee ~/.docker/config.json <<-'EOF'
{
  "detachKeys": "ctrl-q,q"
}
EOF

# 3. 重启 Docker 服务(使快捷键配置生效)
sudo systemctl restart docker

使用方式:

  • 启动容器时加 -d 后台运行(如 docker run -d nginx),或在交互模式下(docker run -it nginx)按 Ctrl+Q 再按 Q,即可将容器切换到后台运行,同时保留终端控制权。

4. 设置 Docker 开机自启(Linux 系统通用)

为避免服务器重启后需手动启动 Docker,建议设置开机自启:

# 1. 启用 Docker 开机自启
sudo systemctl enable docker

# 2. 验证自启配置(输出 enabled 即正常)
sudo systemctl is-enabled docker

三、Docker Compose 安装:分平台操作

Docker Compose 用于管理多容器应用,Windows/MacOS 安装 Docker 时已默认集成,仅 Linux 系统需单独安装。

1. Windows & MacOS:无需额外安装

Windows 和 MacOS 的 Docker Desktop 已内置 Docker Compose,安装 Docker 后直接验证即可:

# 验证 Docker Compose 版本(输出类似 docker-compose version 1.29.x, build xxx 即正常)
docker-compose --version

2. Ubuntu 系统:APT 安装(简单快捷)

Ubuntu 官方源包含 Docker Compose 包,直接通过 apt 安装:

# 安装 Docker Compose
sudo apt install -y docker-compose

# 验证安装
docker-compose --version

3. CentOS 系统:脚本下载安装(指定版本)

CentOS 官方源无 Docker Compose,需从 GitHub 下载二进制文件安装(这里以 1.25.4 版本为例,可替换为 最新版本)。

# 1. 下载 Docker Compose 二进制文件(适配当前系统架构)
# `uname -s` 获取系统(如 Linux),`uname -m` 获取架构(如 x86_64)
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o ~/docker-compose

# 2. 移动文件到系统命令路径(使 docker-compose 命令全局可用)
sudo mv ~/docker-compose /usr/bin/

# 3. 赋予执行权限(否则无法运行)
sudo chmod +x /usr/bin/docker-compose

# 4. 验证安装
docker-compose --version

升级版本:

若需安装更新版本,只需替换命令中的 1.25.4 为最新版本号(如 2.20.3),重复上述步骤即可。

四、最终验证:确保 Docker 与 Docker Compose 正常工作

完成所有安装与配置后,通过简单命令验证功能是否正常:

1. 验证 Docker 功能

# 1. 拉取官方 nginx 镜像(测试镜像拉取功能)
docker pull nginx

# 2. 启动 nginx 容器(测试容器运行功能)
docker run -d -p 8080:80 --name test-nginx nginx

# 3. 查看容器状态(输出 test-nginx 且状态为 Up 即正常)
docker ps

# 4. 访问 nginx 服务(测试端口映射)
curl http://localhost:8080
# 若输出 nginx 欢迎页 HTML 代码,说明 Docker 网络配置正常

# 5. 停止并删除测试容器(清理环境)
docker stop test-nginx && docker rm test-nginx

2. 验证 Docker Compose 功能

创建一个简单的 docker-compose.yml 文件,测试多容器管理:

# 1. 创建测试目录并进入
mkdir -p ~/docker-test && cd ~/docker-test

# 2. 编写 docker-compose.yml(定义 nginx + redis 两个容器)
tee docker-compose.yml <<-'EOF'
version: '3'
services:
  nginx:
    image: nginx
    ports:
      - "8080:80"
  redis:
    image: redis
    ports:
      - "6379:6379"
EOF

# 3. 启动所有容器(-d 后台运行)
docker-compose up -d

# 4. 查看容器状态(两个容器均为 Up 状态即正常)
docker-compose ps

# 5. 停止并删除所有容器(清理环境)
docker-compose down

五、总结

本文覆盖 Docker 与 Docker Compose 的全平台安装与核心配置,关键要点总结如下:

平台Docker 安装方式Docker Compose 安装方式核心配置(必做)
Windows下载 Docker Desktop 安装包内置,无需额外安装启用 WSL 2(家庭版)、配置镜像源
MacOS下载 Docker Desktop 安装包内置,无需额外安装适配芯片架构(Intel/ARM)、配置镜像源
Ubuntusudo apt install -y docker.iosudo apt install -y docker-compose免 sudo 配置、镜像加速、开机自启
CentOS官方脚本 + 阿里云镜像下载二进制文件 + 赋予执行权限免 sudo 配置、镜像加速、开机自启

通过以上步骤,可快速搭建稳定、高效的 Docker 环境,后续可基于此学习容器编排(如 Docker Swarm)、CI/CD 集成(如 Jenkins + Docker)等进阶内容,充分发挥容器技术的优势。