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 Engine
和 Docker Desktop
。
- Docker Engine: 这是 Docker 的核心运行时,一个开源的客户端-服务器应用程序。它包含了负责创建和运行容器的守护进程(
dockerd
)、用于与守护进程交互的 API 以及一个命令行界面(docker
CLI)。在 Linux 环境下,我们通常直接安装 Docker Engine。 - Docker Desktop: 这是一个适用于 Windows 和 macOS 的桌面应用程序,它将
Docker Engine
、docker
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 功能已启用。
-
以管理员身份打开 PowerShell 或命令提示符。
-
执行以下命令启用 WSL 和虚拟机平台功能:
# 启用适用于 Linux 的 Windows 子系统 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
如果提示需要更新内核,请访问微软官方文档下载并安装 WSL2 Linux 内核更新包。
2.1.2 下载并安装 Docker Desktop
- 访问 Docker 官方网站 下载适用于 Windows 的 Docker Desktop 安装程序。
- 双击下载的
.exe
文件启动安装向导。 - 在配置页面,确保勾选 “Use WSL 2 instead of Hyper-V” 选项,然后点击 “Ok”。
- 安装过程会自动下载所需组件,完成后根据提示重启计算机。
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 安装步骤
- 访问 Docker 官方网站 下载适用于 Mac 的 Docker Desktop 安装程序(
.dmg
文件)。 - 双击下载的
.dmg
文件,打开后会看到一个窗口。 - 将窗口中的 Docker 图标(鲸鱼)拖拽到 “Applications” 文件夹中。
- 打开 “应用程序” 文件夹,找到并运行 Docker。
- 首次运行时,它会请求授权以进行安装。输入你的 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) 配置
-
右键点击任务栏(Windows)或菜单栏(macOS)的 Docker 图标,选择 “Settings”(设置)。
-
在左侧导航栏中选择 “Docker Engine”。
-
在右侧的 JSON 配置文件中,添加
registry-mirrors
字段。例如,使用阿里云的加速器地址:{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "features": { "buildkit": true }, "registry-mirrors": [ "https://<你的专属ID>.mirror.aliyuncs" ] }
-
点击 “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.”
- 解决方案:
- 确保已在 BIOS/UEFI 中开启了硬件虚拟化。
- 确保已按 2.1.1 节的步骤启用了 “虚拟机平台” 和 “适用于 Linux 的 Windows 子系统” 功能。
- 手动下载并安装微软官方的 WSL2 Linux 内核更新包。
- 以管理员身份运行 PowerShell,执行
wsl --update
和wsl --set-default-version 2
。
5.2 Linux permission denied
错误
- 问题: 执行
docker
命令时,提示permission denied while trying to connect to the Docker daemon socket...
- 解决方案: 这是因为当前用户没有权限访问 Docker 守护进程的 socket。
- 最简单的临时解决方法是使用
sudo
:sudo docker ps
。 - 永久的解决方法是按照 2.3.3 节的指引,将当前用户添加到
docker
用户组,然后重新登录。
- 最简单的临时解决方法是使用
5.3 hello-world
镜像拉取失败或超时
- 问题:
docker run hello-world
时卡住不动,或提示网络超时、connection refused
等错误。 - 解决方案:
- 检查网络连接是否正常。
- 确认是否已正确配置了国内镜像加速器(参考第三章)。检查
/etc/docker/daemon.json
(Linux) 或 Docker Desktop 的设置,确保 JSON 格式无误,地址正确。 - 重启 Docker 服务/Docker Desktop 后再试。
六、总结
恭喜你!通过本文的引导,你已经成功地在自己的电脑上搭建了 Docker 开发环境,并迈出了容器化技术学习中至关重要的一步。现在,我们来回顾一下本次旅程的核心要点:
- 平台化安装: 我们掌握了在 Windows (通过 Docker Desktop 和 WSL 2)、macOS (通过 Docker Desktop) 和主流 Linux 发行版 (Ubuntu/CentOS) 上安装 Docker 的标准流程。
- 环境优化: 我们理解了配置国内镜像加速器的必要性,并学会了如何为不同平台的 Docker 环境配置加速器,解决了从 Docker Hub 拉取镜像速度慢的核心痛点。
- 成功验证: 我们通过运行
docker version
和docker info
命令检查了 Docker 的状态和配置,并利用docker run hello-world
命令成功运行了第一个容器,直观地验证了环境的可用性。 - 初识原理: 我们通过解析
hello-world
的运行过程,初步了解了 Docker 从拉取镜像到创建并运行容器的内部工作流,为后续深入学习打下了概念基础。
至此,你的 Docker 环境已准备就绪。在下一篇文章中,我们将正式开始探索 Docker 的三大核心概念:镜像、容器与仓库。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1753817175a5085288.html
评论列表(0条)