欢迎光临
我们一直在努力

Docker 从入门到进阶:各平台安装与国内镜像源配置全攻略

Docker 作为当今最流行的容器化技术,很多软件与服务都优先提供 Docker 版本,掌握它是每一名技术爱好者的必修课,然而,由于网络环境的原因,国内用户在使用 Docker 时常常遇到镜像拉取缓慢甚至失败的问题。

今天我们来详细介绍如何在各个主流平台上安装 Docker,并配置国内镜像源,让你的 Docker 使用体验原地起飞!


为什么要配置镜像源?

在开始之前,先了解为什么需要配置国内镜像源:

  •  速度提升 – 从国内镜像源下载速度可达 10 MB/s 以上,而官方源可能只有几十 KB/s

  •  稳定性好 – 避免连接超时、下载中断等问题

  •  节省时间 – 大幅缩短镜像拉取时间,提高效率


Linux 平台安装与配置

Ubuntu/Debian 系统

步骤 1:卸载旧版本(如有)

sudo apt-get remove docker docker-engine docker.io containerd runc

步骤 2:更新软件包索引并安装依赖

sudo apt-get update
sudo apt-get install -y \\
    ca-certificates \\
    curl \\
    gnupg \\
    lsb-release

步骤 3:添加 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

步骤 4:设置 Docker 仓库

echo \\
  "deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \\
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

步骤 5:安装 Docker Engine

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

步骤 6:验证安装

sudo docker run hello-world

步骤 7:配置开机自启

sudo systemctl enable docker
sudo systemctl start docker

步骤 8:添加当前用户到 docker 组(可选但推荐,这样以后执行 docker 命令就不用再加 sudo 了)

sudo usermod -aG docker $USER
newgrp docker

2.2 CentOS/RHEL 系统

步骤 1:卸载旧版本(如有)

sudo yum remove docker \\
    docker-client \\
    docker-client-latest \\
    docker-common \\
    docker-latest \\
    docker-latest-logrotate \\
    docker-logrotate \\
    docker-engine

步骤 2:安装 yum-utils

sudo yum install -y yum-utils

步骤 3:添加 Docker 仓库

sudo yum-config-manager \\
    –add-repo \\
    https://download.docker.com/linux/centos/docker-ce.repo

步骤 4:安装 Docker Engine

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

步骤 5:启动 Docker

sudo systemctl start docker
sudo systemctl enable docker

步骤 6:验证安装

sudo docker run hello-world

配置 Linux 镜像源(通用方法)

方法一:修改 daemon.json 文件(推荐)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  },
  "storage-driver": "overlay2"
}
EOF

重启 Docker 服务

sudo systemctl daemon-reload
sudo systemctl restart docker

验证配置

docker info | grep -A 10 "Registry Mirrors"


Windows 平台安装与配置

系统要求

  •  Windows 10 64位:专业版、企业版或教育版(Build 19041或更高)

  •  Windows 11 64位

  •  启用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

# 重启电脑后,设置WSL 2为默认版本
wsl –set-default-version 2

步骤 2:下载 Docker Desktop

访问Docker官网下载:
https://www.docker.com/products/docker-desktop

或使用国内镜像下载:

  阿里云:https://mirrors.aliyun.com/docker-toolbox/windows/docker-desktop/

步骤 3:安装 Docker Desktop

  •  双击安装程序 Docker Desktop Installer.exe

  •  确保勾选 "Use WSL 2 instead of Hyper-V"

  •  按照向导完成安装

  •  安装完成后重启计算机

  • 步骤 4:启动 Docker Desktop

    从开始菜单启动 Docker Desktop,等待启动完成。

    配置 Windows 镜像源

    方法一:通过图形界面配置

  •  右键点击系统托盘中的 Docker 图标

  •  选择 "Settings" (设置)

  •  点击左侧 "Docker Engine"

  •  在 JSON 配置中添加镜像源:

  • {
      "builder": {
        "gc": {
          "defaultKeepStorage": "20GB",
          "enabled": true
        }
      },
      "experimental": false,
      "registry-mirrors": [
       "https://docker.m.daocloud.io",
        "https://docker.xuanyuan.me",
        "https://docker.1ms.run"
      ]
    }

  •  点击 "Apply & Restart" 应用并重启

  • 方法二:修改配置文件

    配置文件位置:%USERPROFILE%\\.docker\\daemon.json

    直接编辑该文件,添加上述配置内容。

    验证配置

    打开 PowerShell 或 CMD,执行:

    docker info

    查看 "Registry Mirrors" 部分是否包含配置的镜像源。


    macOS 平台安装与配置

    系统要求

    •  macOS 11 或更高版本

    •  至少 4GB RAM

    •  VirtualBox 4.3.30 之前版本不能与 Docker Desktop共存

    安装步骤

    步骤 1:下载 Docker Desktop

    •  官方下载:https://www.docker.com/products/docker-desktop

    •  选择对应芯片版本(Intel 或 Apple Silicon)

    步骤 2:安装

  •  打开下载的 .dmg 文件

  •  将 Docker 图标拖到 Applications文件夹

  •  从 Applications 文件夹启动 Docker

  •  授予必要的系统权限

  • 步骤 3:验证安装

    打开 Terminal,执行:

    docker –version
    docker run hello-world

    配置 macOS 镜像源

    方法一:通过图形界面

  •  点击菜单栏 Docker 图标

  •  选择 "Preferences" (偏好设置)

  •  选择 "Docker Engine"

  •  修改 JSON 配置:

  • {
      "builder": {
        "gc": {
          "defaultKeepStorage": "20GB",
          "enabled": true
        }
      },
      "experimental": false,
      "registry-mirrors": [
       "https://docker.m.daocloud.io",
        "https://docker.xuanyuan.me",
        "https://docker.1ms.run"
      ]
    }

  •  点击 "Apply & Restart"

  • 方法二:修改配置文件

    配置文件位置:~/.docker/daemon.json

    mkdir -p ~/.docker
    cat > ~/.docker/daemon.json <<EOF
    {
      "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.xuanyuan.me",
        "https://docker.1ms.run"
      ]
    }
    EOF

    验证配置

    docker info | grep -A 5 "Registry Mirrors"


    国内主流镜像源推荐

    可用镜像源列表

    镜像源

    地址

    稳定性

    速度

    DaoCloud

    https://docker.m.daocloud.io

    ⭐⭐⭐⭐⭐

    轩辕镜像

    https://docker.xuanyuan.me

    ⭐⭐⭐⭐⭐

    毫秒镜像

    https://docker.1ms.run

    ⭐⭐⭐⭐⭐

    Docker 镜像加速地址与 Docker 安装包(deb/rpm) 的软件源地址可不是一回事,别搞混了。镜像加速地址会随时失效,使用前最好进行测试,测试方法参考后文部分。

    镜像源使用技巧

    技巧 1:配置多个镜像源

    配置多个镜像源可以互为备份,当一个源失败时自动切换到下一个:

    {
      "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.xuanyuan.me",
        "https://docker.1ms.run"
      ]
    }

    技巧 2:测试镜像源速度

    # 拉取测试镜像
    time docker pull nginx:alpine

    # 清理测试镜像
    docker rmi nginx:alpine

    技巧 3:临时使用镜像源

    不修改配置文件,临时指定镜像源:

    docker pull docker.m.daocloud.io/library/nginx:alpine


    Docker Compose 安装

    Linux 安装 Docker Compose

    Docker Compose 管理一组容器,让其像一个完整的系统一样运行。通过 docker-compose.yml 文件定义系统,通过一行命令启动所有服务。该文件由 YAML 写成.

    方法一:使用 Docker 插件(推荐)

    最新版 Docker 已内置 Compose 插件,直接使用:

    docker compose version

    方法二:独立安装

    # 下载最新版本
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

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

    # 验证安装
    docker-compose –version

    使用国内镜像加速下载:

    sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose

    Windows 和 macOS

    Docker Desktop 已经包含 Docker Compose,无需单独安装。


    验证与测试

    基础功能测试

    # 查看Docker版本
    docker –version

    # 查看系统信息
    docker info

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

    # 拉取镜像测试速度
    docker pull nginx:alpine

    # 查看已拉取的镜像
    docker images

    # 运行Nginx容器
    docker run -d -p 8080:80 nginx:alpine

    # 访问测试(浏览器打开 http://localhost:8080)

    镜像源生效验证

    # 查看配置的镜像源
    docker info | grep -i "registry"

    # 或者
    docker system info –format '{{.RegistryConfig.Mirrors}}'

    性能对比测试

    测试脚本:

    #!/bin/bash
    echo "测试镜像拉取速度…"

    # 清理已有镜像
    docker rmi redis:alpine 2>/dev/null

    # 测试拉取时间
    echo "开始拉取 redis:alpine…"
    time docker pull redis:alpine

    echo "拉取完成!"


    常见问题与解决方案

    权限问题

    问题: 执行 docker 命令需要 sudo

    解决方案:

    sudo usermod -aG docker $USER
    newgrp docker
    # 或者重新登录系统

    镜像拉取失败

    问题: 出现 "Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout"

    解决方案:

  •  检查镜像源配置是否正确

  •  尝试更换其他镜像源

  •  检查网络连接和防火墙设置

  • # 重启 Docker 服务
    sudo systemctl restart docker

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

    Windows WSL 2 问题

    问题: Docker Desktop启动失败,提示WSL 2相关错误

    解决方案:

    # 更新WSL
    wsl –update

    # 检查WSL版本
    wsl –list –verbose

    # 设置默认WSL版本为2
    wsl –set-default-version 2

    端口占用问题

    问题: 容器端口映射失败

    解决方案:

    # Linux查看端口占用
    sudo netstat -tulpn | grep :端口号
    sudo lsof -i :端口号

    # Windows查看端口占用
    netstat -ano | findstr :端口号

    磁盘空间问题

    问题: Docker 占用大量磁盘空间

    解决方案:

    # 查看磁盘使用情况
    docker system df

    # 清理未使用的镜像、容器、网络
    docker system prune -a

    # 清理所有未使用的卷
    docker volume prune


    进阶配置

    以下内容如需配置都应写入/etc/docker/daemon.json(Linux)、~/.docker/daemon.json(macOS)文件中,修改配置后需要重启 docker 服务才会生效。

    配置日志驱动

    {
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "100m",
        "max-file": "3"
      }
    }

    配置存储驱动

    {
      "storage-driver": "overlay2",
      "storage-opts": [
        "overlay2.override_kernel_check=true"
      ]
    }

    限制容器资源

    {
      "default-ulimits": {
        "nofile": {
          "Name": "nofile",
          "Hard": 64000,
          "Soft": 64000
        }
      }
    }

    配置私有镜像仓库

    {
      "insecure-registries": [
        "192.168.1.100:5000"
      ]
    }

    修改默认存储路径

    {
      "data-root": "/data/docker"
    }


    最佳实践建议

    安全建议

    •  定期更新 Docker 到最新版本

    • 不要以 root 用户运行容器

    •  使用官方或可信任的镜像

    •  扫描镜像漏洞:docker scan 镜像名

    性能优化

    •  使用多阶段构建减小镜像体积

    •  合理配置镜像层缓存

    •  使用 .dockerignore 排除不必要的文件

    •  定期清理无用镜像和容器

    日常维护

    # 每周执行一次清理
    docker system prune -a –volumes

    # 查看Docker占用空间
    docker system df -v

    # 更新所有镜像
    docker images | grep -v REPOSITORY | awk '{print $1":"$2}' | xargs -L1 docker pull


    常用命令参考

    镜像操作

    # 搜索镜像
    docker search nginx

    # 拉取镜像
    docker pull nginx:alpine

    # 查看本地镜像
    docker images

    # 删除镜像
    docker rmi 镜像ID

    # 导出镜像
    docker save -o nginx.tar nginx:alpine

    # 导入镜像
    docker load -i nginx.tar

    # 给镜像打标签
    docker tag nginx:alpine myrepo/nginx:v1

    容器操作

    # 运行容器
    docker run -d –name mynginx -p 80:80 nginx

    # 查看运行中的容器
    docker ps

    # 查看所有容器
    docker ps -a

    # 停止容器
    docker stop 容器ID

    # 启动容器
    docker start 容器ID

    # 重启容器
    docker restart 容器ID

    # 删除容器
    docker rm 容器ID

    # 查看容器日志
    docker logs -f 容器ID

    # 进入容器
    docker exec -it 容器ID /bin/bash


    写在最后

    看到这里,相信在 Windows、macOS 和 Linux 上安装 Docker 并配置中国区镜像源已不再成为问题。至于群晖或其它 NAS 系统,Docker 的安装与配置和 Windows 平台大同小异,甚至更简单,就不再赘述了。

    通过使用国内的镜像源,可以显著提高 Docker 镜像的下载速度。相比之前的应用部署方式,Docker 提供了一个高效、便捷、纯粹的环境来构建和部署应用,而通过简单的配置,就能避免由于网络问题导致的下载延迟。

    如果你在 Docker 安装和配置过程中遇到问题,可以查看 Docker 官方文档,或者通过社区寻求帮助,也可以在评论区留言交流哦~

    赞(0)
    未经允许不得转载:171主机测评 » Docker 从入门到进阶:各平台安装与国内镜像源配置全攻略
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址