1. Docker基础使用指南:从安装到核心操作全解析
Docker作为现代应用开发和部署的基石技术,已经成为开发者工具箱中不可或缺的一部分。我清晰地记得第一次接触Docker时的困惑——这个看似简单的容器技术背后,究竟隐藏着怎样的力量?经过多年的实践,我发现Docker的真正价值不仅在于它的隔离性,更在于它彻底改变了我们构建、交付和运行应用程序的方式。本文将带你从零开始,深入理解Docker的核心概念和基础操作,避开那些我踩过的坑,快速掌握这个改变游戏规则的技术。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Docker环境准备与安装
2.1 系统要求与前置检查
在安装Docker之前,必须确保你的系统满足基本要求。对于Windows用户,需要Windows 10专业版或企业版64位(版本2004或更高),并启用Hyper-V和容器功能。Linux用户则需要64位内核版本3.10或更高。Mac用户需要2010年或更新的型号(带Intel MMU虚拟化支持)。
重要提示:Windows家庭版无法直接安装Docker Desktop,需要先安装WSL2(Windows Subsystem for Linux 2)作为替代方案。
验证虚拟化是否启用:
bash复制# Windows用户可在任务管理器的"性能"选项卡查看虚拟化状态
# Linux/Mac用户可运行以下命令检查
egrep -c '(vmx|svm)' /proc/cpuinfo
如果返回值为0,表示虚拟化未启用,需要进入BIOS设置开启VT-x(Intel)或AMD-V(AMD)技术。
2.2 各平台安装详解
Windows平台安装步骤:
- 下载Docker Desktop Installer(约600MB)
- 双击运行安装程序,勾选"使用WSL 2代替Hyper-V"(家庭版必选)
- 安装完成后不要立即启动,先执行:
powershell复制wsl --set-default-version 2
- 从开始菜单启动Docker Desktop,等待鲸鱼图标变为绿色
Linux平台(以Ubuntu为例)安装:
bash复制# 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 设置仓库
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# 添加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
# 设置稳定版仓库
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引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 验证安装
sudo docker run hello-world
Mac平台安装注意事项:
- 苹果芯片(M1/M2)和Intel芯片使用不同的安装包
- 安装后需要在"首选项"→"Resources"中适当调整内存分配(建议至少4GB)
2.3 安装后配置优化
修改Docker镜像源加速下载:
json复制// 创建或修改/etc/docker/daemon.json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
],
"experimental": false,
"features": {
"buildkit": true
}
}
重启Docker服务使配置生效:
bash复制sudo systemctl restart docker # Linux
# Windows/Mac通过界面重启
3. Docker核心概念与架构
3.1 Docker三大核心组件
-
镜像(Image):只读模板,包含创建容器所需的文件系统结构和内容。可以理解为面向Docker引擎的"软件安装包"。
-
容器(Container):镜像的运行实例,具有自己的文件系统、网络和进程空间。容器之间相互隔离,共享主机内核。
-
仓库(Registry):集中存放镜像的地方。Docker Hub是默认的公共仓库,企业也可以搭建私有仓库。
3.2 Docker架构解析
Docker采用客户端-服务器架构:
- Docker守护进程(dockerd):长期运行的后台进程,管理镜像、容器、网络和存储
- Docker客户端(docker):命令行工具,通过REST API与守护进程交互
- Docker注册中心:存储和分发镜像的服务
数据流向示意图:
code复制用户 → docker CLI → Docker API → dockerd → 容器运行时(containerd) → 实际容器
3.3 理解联合文件系统(UnionFS)
Docker使用分层存储技术,这是其高效性的关键。每个镜像由多个只读层组成,容器运行时在最上层添加可写层。这种设计带来三大优势:
- 资源共享:多个镜像可以共用相同的底层
- 快速部署:只需下载镜像中本地缺失的层
- 空间高效:层之间的差异部分才会占用额外空间
4. Docker基础操作实战
4.1 镜像管理全流程
搜索公共镜像:
bash复制docker search nginx
拉取镜像(默认从Docker Hub获取):
bash复制docker pull nginx:1.23-alpine
查看本地镜像列表:
bash复制docker images
# 或使用新语法
docker image ls
删除镜像:
bash复制docker r
