🎯 一、Docker简介与环境准备

1.1 Docker核心概念

在开始安装之前,我们需要了解Docker的几个核心概念:

  • 镜像(Image):一个只读的模板,用来创建容器
  • 容器(Container):镜像的运行实例,是轻量级、可移植的封装环境
  • 仓库(Repository):集中存放镜像文件的地方,类似代码仓库
  • Docker Engine:Docker的核心组件,负责创建和运行容器

1.2 环境检查命令

Linux系统检查:
# 检查内核版本
uname -a

# 检查系统架构
arch

# 检查是否安装了旧版本Docker
docker --version

# 检查存储驱动是否支持
lsmod | grep overlay
Windows系统检查:
# 检查系统版本
winver

# 检查Hyper-V状态
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V

# 检查WSL状态
wsl --status

🐧 二、Linux系统安装部署

2.1 CentOS/RHEL系统安装

2.1.1 卸载旧版本(如有)
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
2.1.2 安装依赖包
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
2.1.3 添加Docker仓库
# 使用官方仓库(速度较慢)
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# 或使用国内镜像仓库(推荐)
sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.1.4 安装Docker Engine
# 安装最新版本
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 安装指定版本(可选)
# 首先查看可用版本
yum list docker-ce --showduplicates | sort -r
# 然后安装指定版本
sudo yum install -y docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
2.1.5 启动Docker服务
# 启动Docker
sudo systemctl start docker

# 设置开机自启
sudo systemctl enable docker

# 查看Docker状态
sudo systemctl status docker

2.2 Ubuntu/Debian系统安装

2.2.1 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
2.2.2 更新软件包索引
sudo apt-get update
2.2.3 安装依赖包
sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
2.2.4 添加Docker官方GPG密钥
# 官方密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 或使用国内镜像
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2.2.5 添加Docker仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2.2.6 安装Docker Engine
# 更新软件包索引
sudo apt-get update

# 安装Docker
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
2.2.7 启动Docker服务
# 启动Docker
sudo systemctl start docker

# 设置开机自启
sudo systemctl enable docker

# 查看Docker状态
sudo systemctl status docker

2.3 验证安装

# 查看Docker版本
sudo docker --version

# 查看详细信息
sudo docker info

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

🪟 三、Windows系统安装部署

3.1 系统要求检查

在安装之前,请确保满足以下条件:

3.1.1 启用Hyper-V
  1. 打开"控制面板" → “程序” → “启用或关闭Windows功能”
  2. 勾选以下选项:
    • Hyper-V
    • 虚拟机平台
    • Windows虚拟机监控程序平台
  3. 点击"确定",系统会自动安装并重启
3.1.2 启用WSL2
# 以管理员身份运行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

3.2 下载Docker Desktop

  1. 访问Docker官网:https://www.docker.com/products/docker-desktop/
  2. 下载Windows版本的Docker Desktop安装包
  3. 双击安装包开始安装

3.3 安装过程

  1. 运行安装程序

    • 双击下载的Docker Desktop Installer.exe
    • 在弹出的UAC对话框中点击"是"
  2. 安装配置

    • 勾选"Install required Windows components for WSL 2"
    • 点击"OK"开始安装
  3. 完成安装

    • 安装完成后会提示重启系统
    • 点击"Close and restart"重启电脑

3.4 首次启动配置

  1. 启动Docker Desktop

    • 重启后,Docker Desktop会自动启动
    • 系统托盘会出现Docker图标
  2. 登录Docker Hub

    • 首次启动会提示登录Docker Hub账户
    • 可以选择跳过或创建新账户
  3. 配置设置

    • 右键点击系统托盘的Docker图标
    • 选择"Settings"进行配置
    • 建议启用WSL2后端引擎

3.5 验证安装

# 打开PowerShell或命令提示符
# 查看Docker版本
docker --version

# 查看Docker信息
docker info

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

⚙️ 四、安装后配置与验证

4.1 镜像加速器配置

由于国内网络环境限制,建议配置镜像加速器以提高镜像拉取速度。

4.1.1 Linux系统配置
# 创建配置目录
sudo mkdir -p /etc/docker

# 创建配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://hub.xdark.top",
    "https://dockerhub.icu"
  ]
}
EOF

# 重启Docker服务
sudo systemctl restart docker

# 验证配置
sudo docker info | grep -A 10 "Registry Mirrors"
4.1.2 Windows/macOS配置
  1. 打开Docker Desktop
  2. 点击系统托盘图标 → Settings
  3. 选择"Docker Engine"
  4. 在配置文件中添加:
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://hub.xdark.top",
    "https://dockerhub.icu"
  ]
}
  1. 点击"Apply & Restart"

4.2 用户权限设置(Linux)

为了避免每次使用Docker命令都需要sudo,可以将当前用户添加到docker用户组:

# 创建docker用户组(如果不存在)
sudo groupadd docker

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

# 激活用户组(需要重新登录或执行以下命令)
newgrp docker

# 验证权限设置
docker run hello-world

4.3 基本功能测试

4.3.1 镜像操作测试
# 搜索镜像
docker search nginx

# 拉取镜像
docker pull nginx:latest

# 查看本地镜像
docker images

# 删除镜像
docker rmi nginx:latest
4.3.2 容器操作测试
# 运行容器
docker run -d --name my-nginx -p 8080:80 nginx:latest

# 查看运行中的容器
docker ps

# 查看容器日志
docker logs my-nginx

# 停止容器
docker stop my-nginx

# 启动容器
docker start my-nginx

# 删除容器
docker rm my-nginx
4.3.3 网络测试
# 查看Docker网络
docker network ls

# 创建自定义网络
docker network create my-network

# 运行容器并连接到网络
docker run -d --name container1 --network my-network nginx:latest
docker run -d --name container2 --network my-network nginx:latest

# 测试容器间通信
docker exec -it container1 ping container2

4.4 常见安装问题解决

4.4.1 Linux系统常见问题

问题1:Docker服务启动失败

# 查看服务状态
sudo systemctl status docker

# 查看详细日志
sudo journalctl -u docker.service

# 常见解决方案:
# 1. 检查存储驱动
sudo lsmod | grep overlay
# 2. 检查内核版本
uname -r
# 3. 重新安装Docker
sudo yum reinstall docker-ce

问题2:权限不足错误

# 错误信息:Got permission denied while trying to connect to the Docker daemon socket
# 解决方案:将用户添加到docker组
sudo usermod -aG docker $USER
newgrp docker
4.4.2 Windows系统常见问题

问题1:WSL2安装失败

# 手动安装WSL2
wsl --install

# 如果仍然失败,尝试:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

问题2:Docker Desktop启动失败

# 重置Docker Desktop
# 1. 备份重要数据
# 2. 重置到出厂设置
# 3. 重新安装
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐