Docker安装与配置 #

系统要求 #

Linux系统要求 #

要求 说明
内核版本 3.10及以上
架构 x86_64/amd64, arm64, s390x
发行版 Ubuntu, Debian, CentOS, Fedora等

macOS系统要求 #

要求 说明
macOS版本 10.15 (Catalina)及以上
芯片 Intel芯片或Apple Silicon (M1/M2)
内存 至少4GB

Windows系统要求 #

要求 说明
Windows版本 Windows 10/11 64位
WSL2 需要启用WSL2
Hyper-V 需要启用Hyper-V

Linux安装Docker #

Ubuntu安装 #

bash
# 更新软件包索引
sudo apt-get update

# 安装依赖包
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 添加Docker官方GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置稳定版仓库
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

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

# 验证安装
sudo docker run hello-world

CentOS安装 #

bash
# 安装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
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

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

# 验证安装
sudo docker run hello-world

使用安装脚本 #

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

# 执行安装
sudo sh get-docker.sh

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

# 重新登录或执行
newgrp docker

macOS安装Docker #

Docker Desktop for Mac #

  1. 下载Docker Desktop

  2. 安装步骤

    bash
    # 打开下载的dmg文件
    open Docker.dmg
    
    # 将Docker拖入Applications文件夹
    # 启动Docker Desktop
    open /Applications/Docker.app
    
  3. 验证安装

    bash
    docker --version
    docker run hello-world
    

配置Docker Desktop #

json
// Docker Desktop设置
{
  "cpu-count": 4,
  "memory": 8192,
  "swap": 2048,
  "disk-size": 65536
}

Windows安装Docker #

启用WSL2 #

powershell
# 启用WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# 重启系统后,设置WSL2为默认版本
wsl --set-default-version 2

# 安装Linux发行版
wsl --install -d Ubuntu

安装Docker Desktop #

  1. 下载Docker Desktop for Windows
  2. 运行安装程序,选择使用WSL2
  3. 完成安装后重启系统
  4. 启动Docker Desktop

验证安装 #

powershell
# 检查Docker版本
docker --version

# 检查WSL2集成
wsl -l -v

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

Docker配置 #

配置镜像加速 #

bash
# 编辑daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
EOF

# 重启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker

配置存储驱动 #

json
// /etc/docker/daemon.json
{
  "storage-driver": "overlay2",
  "data-root": "/var/lib/docker"
}

配置日志驱动 #

json
// /etc/docker/daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

配置网络 #

json
// /etc/docker/daemon.json
{
  "bip": "172.17.0.1/16",
  "default-address-pools": [
    {
      "base": "172.17.0.0/16",
      "size": 24
    }
  ]
}

完整配置示例 #

json
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "storage-driver": "overlay2",
  "data-root": "/var/lib/docker",
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "bip": "172.17.0.1/16",
  "live-restore": true,
  "userland-proxy": false
}

Docker服务管理 #

Linux服务管理 #

bash
# 启动Docker服务
sudo systemctl start docker

# 停止Docker服务
sudo systemctl stop docker

# 重启Docker服务
sudo systemctl restart docker

# 查看Docker状态
sudo systemctl status docker

# 设置开机自启
sudo systemctl enable docker

# 取消开机自启
sudo systemctl disable docker

查看Docker信息 #

bash
# 查看Docker版本
docker version

# 查看Docker详细信息
docker info

# 查看Docker系统信息
docker system info

常见问题解决 #

权限问题 #

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

# 重新登录或执行
newgrp docker

网络问题 #

bash
# 检查Docker网络
docker network ls

# 重建Docker网络
sudo systemctl restart docker

存储问题 #

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

# 查看磁盘使用
docker system df

WSL2问题(Windows) #

powershell
# 重置WSL
wsl --shutdown

# 更新WSL内核
wsl --update

小结 #

本节介绍了Docker在Linux、macOS和Windows三个平台上的安装方法,以及常用的配置选项。正确安装和配置Docker是使用容器化技术的基础。

下一步 #

接下来,让我们学习 第一个容器,运行你的第一个Docker容器。