Skip to content

Docker 环境安装与配置

本章将详细介绍如何在不同操作系统上安装 Docker,并进行基本配置。

系统要求

Windows 系统要求

Docker Desktop for Windows:

  • Windows 10 64-bit: Pro, Enterprise, or Education (Build 16299 或更高版本)
  • 启用 Hyper-V 和容器 Windows 功能
  • 至少 4GB RAM

WSL 2 后端要求:

  • Windows 10 版本 1903 或更高,内部版本 18362 或更高
  • 启用 WSL 2 功能

macOS 系统要求

  • macOS 10.14 或更新版本
  • 至少 4GB RAM
  • VirtualBox 4.3.30 之前的版本不能与 Docker Desktop 共存

Linux 系统要求

  • 64 位操作系统
  • 内核版本 3.10 或更高
  • 支持的发行版:Ubuntu、Debian、CentOS、Fedora 等

Windows 安装

方法一:Docker Desktop(推荐)

  1. 下载 Docker Desktop

    访问 Docker Desktop 官网 下载安装包。

  2. 安装步骤

    powershell
    # 以管理员身份运行 PowerShell
    # 启用 Hyper-V(如果尚未启用)
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    
    # 启用容器功能
    Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
  3. 运行安装程序

    双击下载的 Docker Desktop Installer.exe,按照向导完成安装。

  4. 启动 Docker Desktop

    安装完成后,从开始菜单启动 Docker Desktop。

方法二:使用 WSL 2

  1. 安装 WSL 2

    powershell
    # 启用 WSL
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
    # 启用虚拟机平台
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
    # 重启计算机
    Restart-Computer
    
    # 设置 WSL 2 为默认版本
    wsl --set-default-version 2
  2. 安装 Linux 发行版

    从 Microsoft Store 安装 Ubuntu 或其他 Linux 发行版。

  3. 在 WSL 2 中安装 Docker

    bash
    # 更新包索引
    sudo apt update
    
    # 安装必要的包
    sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
    
    # 添加 Docker 官方 GPG 密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    # 添加 Docker 仓库
    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    # 安装 Docker Engine
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io

macOS 安装

使用 Docker Desktop

  1. 下载安装包

    Docker Desktop for Mac 下载 .dmg 文件。

  2. 安装步骤

    bash
    # 拖拽 Docker.app 到 Applications 文件夹
    # 双击启动 Docker Desktop
  3. 验证安装

    bash
    # 检查 Docker 版本
    docker --version
    
    # 检查 Docker Compose 版本
    docker-compose --version

使用 Homebrew

bash
# 安装 Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 使用 Homebrew 安装 Docker
brew install --cask docker

# 启动 Docker Desktop
open /Applications/Docker.app

Linux 安装

Ubuntu/Debian 安装

bash
# 卸载旧版本(如果存在)
sudo apt-get remove docker docker-engine docker.io containerd runc

# 更新包索引
sudo apt-get update

# 安装必要的包
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加 Docker 仓库
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

CentOS/RHEL 安装

bash
# 卸载旧版本
sudo yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-engine

# 安装 yum-utils
sudo yum install -y yum-utils

# 添加 Docker 仓库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker Engine
sudo yum install docker-ce docker-ce-cli containerd.io

# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

使用便捷脚本安装

Docker 提供了一个便捷的安装脚本:

bash
# 下载并运行安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 将当前用户添加到 docker 组(可选)
sudo usermod -aG docker $USER

# 重新登录或运行以下命令使组更改生效
newgrp docker

安装后配置

验证安装

bash
# 检查 Docker 版本
docker --version

# 检查 Docker 系统信息
docker system info

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

配置 Docker 守护进程

创建或编辑 Docker 守护进程配置文件:

bash
# Linux 系统
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "storage-driver": "overlay2"
}
EOF

# 重启 Docker 服务
sudo systemctl restart docker

配置用户权限(Linux)

bash
# 创建 docker 组(通常已存在)
sudo groupadd docker

# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER

# 重新登录或运行以下命令
newgrp docker

# 验证无需 sudo 即可运行 docker 命令
docker run hello-world

配置镜像加速器

国内镜像源配置

由于网络原因,国内用户建议配置镜像加速器:

常用镜像源:

  • 阿里云:https://[your-id].mirror.aliyuncs.com
  • 腾讯云:https://mirror.ccs.tencentyun.com
  • 网易:https://hub-mirror.c.163.com
  • 中科大:https://docker.mirrors.ustc.edu.cn

配置方法:

  1. Docker Desktop(Windows/macOS)

    在 Docker Desktop 设置中的 "Docker Engine" 部分添加:

    json
    {
      "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn"
      ]
    }
  2. Linux 系统

    编辑 /etc/docker/daemon.json

    json
    {
      "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn"
      ]
    }

Docker Compose 安装

Linux 安装 Docker Compose

bash
# 下载 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 创建软链接(可选)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 验证安装
docker-compose --version

使用 pip 安装

bash
# 安装 pip(如果尚未安装)
sudo apt-get install python3-pip

# 使用 pip 安装 Docker Compose
pip3 install docker-compose

# 验证安装
docker-compose --version

常见安装问题

Windows 常见问题

  1. Hyper-V 冲突

    powershell
    # 禁用 Hyper-V(如果需要)
    Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
  2. WSL 2 问题

    bash
    # 更新 WSL 2 内核
    wsl --update
    
    # 检查 WSL 版本
    wsl -l -v

Linux 常见问题

  1. 权限问题

    bash
    # 如果遇到权限错误
    sudo chmod 666 /var/run/docker.sock
  2. 服务启动问题

    bash
    # 检查 Docker 服务状态
    sudo systemctl status docker
    
    # 查看 Docker 日志
    sudo journalctl -u docker.service

macOS 常见问题

  1. 资源限制

    在 Docker Desktop 设置中调整 CPU 和内存分配。

  2. 文件共享问题

    在 Docker Desktop 设置中配置文件共享路径。

验证安装成功

运行以下命令验证 Docker 安装是否成功:

bash
# 检查 Docker 版本
docker --version

# 检查 Docker Compose 版本
docker-compose --version

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

# 检查 Docker 系统信息
docker system info

# 列出 Docker 镜像
docker images

# 列出运行中的容器
docker ps

如果所有命令都能正常执行,说明 Docker 安装成功!

本章小结

本章我们学习了如何在不同操作系统上安装 Docker:

关键要点:

  • Windows 推荐使用 Docker Desktop 或 WSL 2
  • macOS 可以使用 Docker Desktop 或 Homebrew
  • Linux 可以使用包管理器或便捷脚本安装
  • 安装后需要配置镜像加速器和用户权限
  • Docker Compose 需要单独安装(Linux 系统)

在下一章中,我们将通过运行第一个容器来快速上手 Docker 的基本操作。

延伸阅读

本站内容仅供学习和研究使用。