【Docker-Day 2】从零开始:手把手教你在 Windows、macOS 和 Linux 上安装 Docker

Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆

Langchain系列文章目录

01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南
02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖
03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南
04-玩转 LangChain:从文档加载到高效问答系统构建的全程实战
05-玩转 LangChain:深度评估问答系统的三种高效方法(示例生成、手动评估与LLM辅助评估)
06-从 0 到 1 掌握 LangChain Agents:自定义工具 + LLM 打造智能工作流!
07-【深度解析】从GPT-1到GPT-4:ChatGPT背后的核心原理全揭秘
08-【万字长文】MCP深度解析:打通AI与世界的“USB-C”,模型上下文协议原理、实践与未来

Python系列文章目录

PyTorch系列文章目录

机器学习系列文章目录

深度学习系列文章目录

Java系列文章目录

JavaScript系列文章目录

Python系列文章目录

Go语言系列文章目录

Docker系列文章目录

01-【Docker-Day 1】告别部署噩梦:为什么说 Docker 是每个开发者的必备技能?
02-【Docker-Day 2】从零开始:手把手教你在 Windows、macOS 和 Linux 上安装 Docker


文章目录

  • Langchain系列文章目录
  • Python系列文章目录
  • PyTorch系列文章目录
  • 机器学习系列文章目录
  • 深度学习系列文章目录
  • Java系列文章目录
  • JavaScript系列文章目录
  • Python系列文章目录
  • Go语言系列文章目录
  • Docker系列文章目录
  • 摘要
  • 一、准备工作:认识 Docker Engine 与 Docker Desktop
  • 二、在主流操作系统上安装 Docker
    • 2.1 Windows 平台安装 (Docker Desktop for Windows)
      • 2.1.1 系统要求与启用 WSL 2
        • (1) 系统要求
        • (2) 启用 WSL 2 功能
      • 2.1.2 下载并安装 Docker Desktop
      • 2.1.3 启动与验证
    • 2.2 macOS 平台安装 (Docker Desktop for Mac)
      • 2.2.1 系统要求
      • 2.2.2 安装步骤
    • 2.3 Linux 平台安装 (Ubuntu/CentOS)
      • 2.3.1 Ubuntu 安装指南
      • 2.3.2 CentOS 安装指南
      • 2.3.3 配置非 root 用户运行 Docker
  • 三、配置 Docker 国内镜像加速器
    • 3.1 为什么需要加速器?
    • 3.2 获取加速器地址
    • 3.3 配置方法
      • 3.3.1 Docker Desktop (Windows/Mac) 配置
      • 3.3.2 Linux 系统配置
  • 四、验证安装与运行第一个容器
    • 4.1 检查 Docker 版本与信息
    • 4.2 运行 `hello-world` 容器
  • 五、常见问题与排查 (FAQ)
      • 5.1 Windows WSL 2 安装或更新失败
      • 5.2 Linux `permission denied` 错误
      • 5.3 `hello-world` 镜像拉取失败或超时
  • 六、总结


摘要

在本篇文章中,我们将踏上 Docker 学习之旅的第二步,完成一次与 Docker 的“首次亲密接触”。本文是一份详尽的一站式指南,旨在帮助开发者在各种主流操作系统(Windows、macOS、Linux)上顺利安装和配置 Docker 环境。我们将深入探讨每个平台的安装细节,特别是 Windows 环境下基于 WSL 2 的现代安装方式。此外,我们还将解决国内开发者普遍面临的镜像拉取速度慢的问题,通过配置国内镜像加速器,大幅提升开发效率。最后,通过运行经典的 hello-world 容器来验证安装是否成功,并解析其背后的工作流程,为后续的 Docker 学习打下坚实的基础。

一、准备工作:认识 Docker Engine 与 Docker Desktop

在开始安装之前,我们需要明确两个核心概念:Docker EngineDocker Desktop

  • Docker Engine: 这是 Docker 的核心运行时,一个开源的客户端-服务器应用程序。它包含了负责创建和运行容器的守护进程(dockerd)、用于与守护进程交互的 API 以及一个命令行界面(docker CLI)。在 Linux 环境下,我们通常直接安装 Docker Engine。
  • Docker Desktop: 这是一个适用于 Windows 和 macOS 的桌面应用程序,它将 Docker Enginedocker CLI、Docker Compose、Kubernetes 以及图形化管理界面等工具打包在一起。它极大地简化了在这些操作系统上使用 Docker 的复杂性,特别是通过利用操作系统自身的虚拟化技术(Windows 上的 WSL 2,macOS 上的 Hypervisor.framework)来创建和管理一个轻量级的 Linux 虚拟机,从而运行 Docker Engine。

对于 Windows 和 macOS 用户,Docker Desktop 是官方推荐的、最便捷的入门方式。

二、在主流操作系统上安装 Docker

本章节将详细介绍如何在 Windows、macOS 和 Linux 这三个主流操作系统上安装 Docker。

2.1 Windows 平台安装 (Docker Desktop for Windows)

在 Windows 上安装 Docker,强烈推荐使用基于 WSL 2 (Windows Subsystem for Linux 2) 的后端,因为它提供了更好的性能和更完整的 Linux 内核兼容性。

2.1.1 系统要求与启用 WSL 2

(1) 系统要求
  • 操作系统: Windows 10 64位(家庭版、专业版、企业版或教育版,版本 1903 或更高版本)或 Windows 11 64位。
  • 硬件: 开启并支持硬件虚拟化技术(通常在 BIOS/UEFI 中设置)。
  • 内存: 建议至少 4GB RAM。
(2) 启用 WSL 2 功能

在安装 Docker Desktop 之前,必须确保 WSL 功能已启用。

  1. 以管理员身份打开 PowerShell 或命令提示符

  2. 执行以下命令启用 WSL 和虚拟机平台功能:

    # 启用适用于 Linux 的 Windows 子系统
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
    # 启用虚拟机平台
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
  3. 重启计算机 以完成安装。

  4. 将 WSL 2 设置为默认版本:

    wsl --set-default-version 2
    

    如果提示需要更新内核,请访问微软官方文档下载并安装 WSL2 Linux 内核更新包。

2.1.2 下载并安装 Docker Desktop

  1. 访问 Docker 官方网站 下载适用于 Windows 的 Docker Desktop 安装程序。
  2. 双击下载的 .exe 文件启动安装向导。
  3. 在配置页面,确保勾选 “Use WSL 2 instead of Hyper-V” 选项,然后点击 “Ok”。
  4. 安装过程会自动下载所需组件,完成后根据提示重启计算机。

2.1.3 启动与验证

重启后,Docker Desktop 会自动启动。桌面右下角的任务栏中会出现鲸鱼图标,当图标静止时,表示 Docker 已经成功运行。你可以打开 PowerShell 或 CMD,开始使用 docker 命令。

2.2 macOS 平台安装 (Docker Desktop for Mac)

在 macOS 上安装 Docker 同样非常简单。

2.2.1 系统要求

  • macOS 版本: 必须是最新的一些版本,具体请参考 Docker 官网的最新要求(通常是最近的三个大版本)。
  • 芯片: 根据你的 Mac 是 Intel 芯片还是 Apple Silicon (M1/M2/M3) 芯片,下载对应的版本。

2.2.2 安装步骤

  1. 访问 Docker 官方网站 下载适用于 Mac 的 Docker Desktop 安装程序(.dmg 文件)。
  2. 双击下载的 .dmg 文件,打开后会看到一个窗口。
  3. 将窗口中的 Docker 图标(鲸鱼)拖拽到 “Applications” 文件夹中。
  4. 打开 “应用程序” 文件夹,找到并运行 Docker。
  5. 首次运行时,它会请求授权以进行安装。输入你的 Mac 登录密码即可。

安装完成后,你会在屏幕顶部的菜单栏看到 Docker 的鲸鱼图标。

2.3 Linux 平台安装 (Ubuntu/CentOS)

在 Linux 上,我们通常直接安装 Docker Engine。这里以最常见的 Ubuntu 和 CentOS 为例。

2.3.1 Ubuntu 安装指南

Docker 官方推荐使用其官方仓库进行安装,以确保获取最新版本。

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

# 2. 更新 apt 包索引并安装依赖
sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

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

# 4. 设置 Docker 的 apt 仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 再次更新 apt 包索引并安装 Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

2.3.2 CentOS 安装指南

对于 CentOS,我们使用 yum 包管理器和 Docker 官方的 yum 仓库。

# 1. 卸载旧版本 (如果存在)
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

# 2. 安装 yum-utils,它提供了 yum-config-manager 工具
sudo yum install -y yum-utils

# 3. 设置 Docker 的 yum 仓库
sudo yum-config-manager \
    --add-repo \
    https://download.docker/linux/centos/docker-ce.repo

# 4. 安装 Docker Engine
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

# 5. 启动 Docker
sudo systemctl start docker

# 6. (可选) 设置 Docker 开机自启
sudo systemctl enable docker

2.3.3 配置非 root 用户运行 Docker

默认情况下,docker 命令需要 sudo 权限。为了方便使用,可以创建一个 docker 用户组,并将你的用户添加进去。

# 1. 创建 docker 组 (如果尚不存在)
sudo groupadd docker

# 2. 将当前用户添加到 docker 组
# ${USER} 是一个环境变量,代表当前登录的用户名
sudo usermod -aG docker ${USER}

# 3. 重新登录或重启 shell 以使用户组更改生效
# 可以通过执行 `newgrp docker` 命令立即激活更改,或直接注销后重新登录
newgrp docker 

三、配置 Docker 国内镜像加速器

由于网络原因,直接从 Docker Hub(官方默认仓库)拉取镜像可能会非常缓慢。配置国内镜像加速器是解决此问题的关键一步。

3.1 为什么需要加速器?

Docker 镜像存储在国外的服务器上。当你执行 docker pull 命令时,实际上是从这些服务器下载文件。受限于国际网络带宽和防火墙,下载速度往往不尽人意。镜像加速器相当于一个位于国内的缓存服务器,它会预先缓存常用的 Docker 镜像。当你请求一个镜像时,Docker 会先尝试从这个国内的服务器下载,从而实现“加速”效果。

3.2 获取加速器地址

国内有多家云服务商提供免费的 Docker 镜像加速服务,例如:

  • 阿里云: 登录阿里云容器镜像服务(ACR),在“镜像工具” -> “镜像加速器”中找到你的专属地址。
  • 网易云: http://hub-mirror.c.163/
  • Docker 中国官方镜像: https://registry.docker-cn
  • 中科大: https://docker.mirrors.ustc.edu/

注意:建议使用云厂商提供的个人专属地址,因为公共地址可能会有不稳定的情况。

3.3 配置方法

3.3.1 Docker Desktop (Windows/Mac) 配置

  1. 右键点击任务栏(Windows)或菜单栏(macOS)的 Docker 图标,选择 “Settings”(设置)。

  2. 在左侧导航栏中选择 “Docker Engine”。

  3. 在右侧的 JSON 配置文件中,添加 registry-mirrors 字段。例如,使用阿里云的加速器地址:

    {
      "builder": {
        "gc": {
          "defaultKeepStorage": "20GB",
          "enabled": true
        }
      },
      "experimental": false,
      "features": {
        "buildkit": true
      },
      "registry-mirrors": [
        "https://<你的专属ID>.mirror.aliyuncs"
      ]
    }
    
  4. 点击 “Apply & Restart”(应用并重启),Docker 会自动重启以使配置生效。

3.3.2 Linux 系统配置

在 Linux 系统中,需要手动创建或修改 Docker 的配置文件 /etc/docker/daemon.json

# 1. 创建或编辑配置文件
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<你的专属ID>.mirror.aliyuncs"]
}
EOF

# 2. 重启 Docker 服务以应用更改
sudo systemctl daemon-reload
sudo systemctl restart docker

四、验证安装与运行第一个容器

完成所有安装和配置后,最后一步是验证 Docker 是否正常工作。

4.1 检查 Docker 版本与信息

打开你的终端(PowerShell, CMD, Terminal),执行以下命令:

# 查看 Docker 版本信息,会显示客户端和服务器的版本
docker version

# 查看 Docker 系统范围的信息,包括镜像数、容器数、加速器配置等
docker info

如果在 docker info 的输出中能看到你配置的 Registry Mirrors,说明加速器配置成功。

4.2 运行 hello-world 容器

这是 Docker 官方提供的一个极简镜像,用于测试 Docker 环境是否正常。

docker run hello-world

如果一切顺利,你将看到类似以下的输出:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
...
Digest: sha256:...
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

五、常见问题与排查 (FAQ)

5.1 Windows WSL 2 安装或更新失败

  • 问题: 提示 “WSL 2 installation is incomplete.”
  • 解决方案:
    1. 确保已在 BIOS/UEFI 中开启了硬件虚拟化。
    2. 确保已按 2.1.1 节的步骤启用了 “虚拟机平台” 和 “适用于 Linux 的 Windows 子系统” 功能。
    3. 手动下载并安装微软官方的 WSL2 Linux 内核更新包。
    4. 以管理员身份运行 PowerShell,执行 wsl --updatewsl --set-default-version 2

5.2 Linux permission denied 错误

  • 问题: 执行 docker 命令时,提示 permission denied while trying to connect to the Docker daemon socket...
  • 解决方案: 这是因为当前用户没有权限访问 Docker 守护进程的 socket。
    1. 最简单的临时解决方法是使用 sudosudo docker ps
    2. 永久的解决方法是按照 2.3.3 节的指引,将当前用户添加到 docker 用户组,然后重新登录。

5.3 hello-world 镜像拉取失败或超时

  • 问题: docker run hello-world 时卡住不动,或提示网络超时、connection refused 等错误。
  • 解决方案:
    1. 检查网络连接是否正常。
    2. 确认是否已正确配置了国内镜像加速器(参考第三章)。检查 /etc/docker/daemon.json (Linux) 或 Docker Desktop 的设置,确保 JSON 格式无误,地址正确。
    3. 重启 Docker 服务/Docker Desktop 后再试。

六、总结

恭喜你!通过本文的引导,你已经成功地在自己的电脑上搭建了 Docker 开发环境,并迈出了容器化技术学习中至关重要的一步。现在,我们来回顾一下本次旅程的核心要点:

  1. 平台化安装: 我们掌握了在 Windows (通过 Docker Desktop 和 WSL 2)、macOS (通过 Docker Desktop) 和主流 Linux 发行版 (Ubuntu/CentOS) 上安装 Docker 的标准流程。
  2. 环境优化: 我们理解了配置国内镜像加速器的必要性,并学会了如何为不同平台的 Docker 环境配置加速器,解决了从 Docker Hub 拉取镜像速度慢的核心痛点。
  3. 成功验证: 我们通过运行 docker versiondocker info 命令检查了 Docker 的状态和配置,并利用 docker run hello-world 命令成功运行了第一个容器,直观地验证了环境的可用性。
  4. 初识原理: 我们通过解析 hello-world 的运行过程,初步了解了 Docker 从拉取镜像到创建并运行容器的内部工作流,为后续深入学习打下了概念基础。

至此,你的 Docker 环境已准备就绪。在下一篇文章中,我们将正式开始探索 Docker 的三大核心概念:镜像、容器与仓库。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1753817175a5085288.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信