Docker 环境配置
本章将介绍如何在不同的操作系统上安装和配置 Docker。
安装 Docker
Windows 安装
系统要求
- Windows 10/11 64位(专业版、企业版或教育版)
- 启用 WSL 2(Windows Subsystem for Linux)
- 启用 Hyper-V 和容器功能
安装步骤
- 启用 WSL 2
# 以管理员身份运行 PowerShell
wsl --install
- 下载 Docker Desktop
访问 Docker 官网 下载 Docker Desktop for Windows。
- 安装并启动
运行安装程序,按照提示完成安装。安装完成后重启计算机。
- 验证安装
docker --version
docker run hello-world
macOS 安装
系统要求
- macOS 11 (Big Sur) 或更高版本
- Apple Silicon (M1/M2/M3) 或 Intel 芯片
安装步骤
- 下载 Docker Desktop
访问 Docker 官网 下载对应芯片版本的 Docker Desktop。
- 安装应用
将 Docker.app 拖到 Applications 文件夹。
- 启动 Docker
打开 Docker Desktop 应用,等待启动完成。
- 验证安装
docker --version
docker run hello-world
Linux 安装
Ubuntu/Debian
# 更新软件包索引
sudo apt-get update
# 安装依赖
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# 添加 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
# 设置仓库
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-buildx-plugin docker-compose-plugin
# 验证安装
sudo docker run hello-world
CentOS/RHEL
# 安装必要工具
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-buildx-plugin docker-compose-plugin
# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
sudo docker run hello-world
配置 Docker
将用户添加到 docker 组
避免每次使用 docker 命令都需要 sudo:
# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER
# 重新登录或执行以下命令使更改生效
newgrp docker
配置镜像加速器
国内用户可以配置镜像加速器提高拉取速度:
Linux
# 创建或编辑 daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn"
]
}
EOF
# 重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker Desktop (Windows/macOS)
打开 Docker Desktop 设置 -> Docker Engine,在 JSON 配置中添加:
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn"
]
}
点击 "Apply & Restart" 重启 Docker。
配置 Docker 数据目录
默认情况下,Docker 数据存储在 /var/lib/docker。如果需要更改:
# 编辑 daemon.json
sudo vi /etc/docker/daemon.json
添加以下配置:
{
"data-root": "/mnt/docker-data"
}
然后重启 Docker:
sudo systemctl restart docker
配置日志驱动
限制容器日志大小,防止磁盘被占满:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
Docker Desktop 配置
资源设置
在 Docker Desktop 设置中可以调整:
- CPUs:分配给 Docker 的 CPU 核心数
- Memory:分配给 Docker 的内存大小
- Swap:交换空间大小
- Disk image location:虚拟磁盘位置
启用 Kubernetes
Docker Desktop 内置了 Kubernetes 支持:
- 打开 Settings -> Kubernetes
- 勾选 "Enable Kubernetes"
- 点击 "Apply & Restart"
验证安装
检查版本
# 查看 Docker 版本
docker version
# 查看 Docker 信息
docker info
运行测试容器
# 拉取并运行 hello-world 镜像
docker run hello-world
# 运行交互式容器
docker run -it ubuntu bash
# 在容器中执行命令
root@container:/# cat /etc/os-release
root@container:/# exit
测试 Docker Compose
# 检查 Docker Compose 版本
docker compose version
常见问题
1. WSL 2 相关问题
问题:Windows 上提示 WSL 2 未安装
解决方案:
# 启用 WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 重启计算机后,设置 WSL 2 为默认版本
wsl --set-default-version 2
2. 权限问题
问题:执行 docker 命令提示权限不足
解决方案:
# 确保用户在 docker 组中
groups $USER
# 如果不在,添加用户到 docker 组
sudo usermod -aG docker $USER
# 重新登录
3. 网络问题
问题:无法拉取镜像
解决方案:
- 检查网络连接
- 配置镜像加速器
- 检查防火墙设置
4. 磁盘空间问题
问题:Docker 占用磁盘空间过大
解决方案:
# 清理未使用的镜像、容器、网络和构建缓存
docker system prune -a
# 查看磁盘使用情况
docker system df
开发工具集成
VS Code 集成
- 安装 Docker 扩展
扩展 ID: ms-azuretools.vscode-docker
- 功能特性
- 镜像和容器管理
- Dockerfile 语法高亮和智能提示
- docker-compose.yml 支持
- 一键运行和调试容器
IDE 插件
- IntelliJ IDEA:Docker Integration 插件
- PyCharm:内置 Docker 支持
- WebStorm:内置 Docker 支持
小结
本章我们学习了:
- 在 Windows、macOS 和 Linux 上安装 Docker
- 配置镜像加速器提高拉取速度
- 调整 Docker 资源配置
- 验证 Docker 安装
- 解决常见问题
练习
- 在你的操作系统上安装 Docker
- 运行
docker run hello-world验证安装 - 配置镜像加速器
- 使用
docker info查看 Docker 系统信息 - 安装 VS Code Docker 扩展并尝试管理容器