news 2026/7/7 9:31:24

第1讲:Docker 零基础入门指南:从原理到安装,再到第一个容器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第1讲:Docker 零基础入门指南:从原理到安装,再到第一个容器

如果你听过 Docker,却一直觉得它“像黑魔法”;
如果你写过代码,却被“环境不一致”折磨过;
那么这篇文章,就是为你准备的。

本文将从为什么需要 Docker讲起,逐步带你完成安装、验证、运行第一个容器,并解决新手最容易踩的坑。


一、Docker 核心概念解析

1.1 为什么会有 Docker?

在 Docker 出现之前,开发和部署常常是这样的:

  • 在我电脑上能跑
  • 到你电脑上就报错
  • 上服务器又不一样

根本原因只有一句话:

应用 ≠ 代码,而是「代码 + 运行环境」

Docker 正是为了解决这个问题而生的。


1.2 容器 vs 虚拟机:本质区别是什么?

这是理解 Docker 的第一道门槛

1️⃣ 虚拟机(Virtual Machine)

虚拟机的特点是:“模拟一整台电脑”

物理机 └── 宿主操作系统 └── 虚拟机管理器(VMware / VirtualBox) └── 虚拟机 ├── Guest OS ├── 系统库 └── 应用程序

问题:

  • 每个虚拟机都要一个完整操作系统
  • 启动慢(分钟级)
  • 占用内存、磁盘非常大

2️⃣ 容器(Docker Container)

容器的思路完全不同:“只打包应用和它所需的环境”

物理机 └── 宿主操作系统 └── Docker Engine ├── 容器 A(应用 + 依赖) ├── 容器 B(应用 + 依赖) └── 容器 C(应用 + 依赖)

特点:

  • 所有容器共享宿主机内核
  • 启动快(秒级)
  • 资源占用极小

1.3 一句话对比总结

对比项

虚拟机

Docker 容器

是否包含完整 OS

启动速度

极快

资源占用

环境一致性

一般

极强

部署效率

结论:

Docker 并不是“更轻量的虚拟机”,
而是完全不同的应用交付方式


1.4 Docker 帮你解决了哪些核心问题?

  1. 环境一致性
    • 开发、测试、生产环境完全一致
  1. 快速部署
    • 一条命令启动服务
  1. 高效资源利用
    • 一台机器可跑几十甚至上百个容器
  1. 应用隔离
    • 各个应用互不影响
  1. 现代云原生基础
    • Kubernetes、微服务的基石

二、多平台 Docker 安装指南

⚠️ 建议:个人电脑优先使用 Docker Desktop
新手不要一开始就“纯命令行折腾”


2.1 Windows 安装 Docker(Docker Desktop + WSL2)

2.1.1 系统要求检查

  • Windows 10 / 11(64 位)
  • 专业版 / 企业版 / 教育版(家庭版也可,但需 WSL2)
  • CPU 支持虚拟化(BIOS 中开启)

2.1.2 启用 WSL2(关键步骤)

管理员身份打开 PowerShell,执行:

wsl --install

作用说明:

  • 安装 WSL
  • 安装默认 Linux 发行版
  • 启用虚拟化组件

执行完成后重启电脑

注意:这一步可能会报错(比如报错说灾难性错误,其实是因为自己的电脑没有支持启动 wsl),具体的解决方案:https://chat.deepseek.com/share/hrjfmt914hfuknzewn


2.1.3 下载并安装 Docker Desktop

  1. 访问 Docker 官网(https://www.docker.com/)
  2. 下载Docker Desktop for Windows(切记要看清楚自己的电脑上基于 AMD 的还是 ARM 的,选对版本避免报错)
  3. 双击安装,勾选:
    • ✅ Use WSL 2 instead of Hyper-V

安装完成后启动 Docker Desktop。


2.1.4 安装验证

在 PowerShell 或 CMD 中执行:

docker --version

预期输出:

Docker version 26.x.x, build xxxx

2.2 macOS 安装 Docker

2.2.1 选择正确的版本(非常重要)

Mac 类型

选择版本

M1 / M2 / M3

Apple Silicon

Intel

Intel Chip

⚠️选错会直接无法运行


2.2.2 安装步骤

  1. 下载 Docker Desktop for Mac
  2. 拖拽到 Applications
  3. 启动 Docker Desktop
  4. 授权系统权限

2.2.3 验证安装

打开终端:

docker version

预期结果:

  • Client 和 Server 信息都能正常显示

2.3 Linux 安装 Docker

Linux 不需要 Docker Desktop,直接安装 Docker Engine


2.3.1 Ubuntu 安装 Docker

Step 1:更新系统
sudo apt update
Step 2:安装依赖
sudo apt install -y ca-certificates curl gnupg
Step 3:添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg \ | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Step 4:配置 Docker 仓库
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
Step 5:安装 Docker
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io

2.3.2 CentOS 安装 Docker

sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io

启动服务:

sudo systemctl start docker sudo systemctl enable docker

三、安装验证与第一个 Docker 实践

3.1 检查 Docker 服务状态

docker info

你应该看到:

  • Server 信息
  • Storage Driver
  • Running Containers

3.2 运行第一个容器:Hello World

docker run hello-world
命令拆解说明

部分

含义

docker

Docker 客户端

run

创建并运行容器

hello-world

官方测试镜像


Docker 内部发生了什么?
  1. 本地找不到 hello-world 镜像
  2. 自动从 Docker Hub 下载
  3. 创建容器
  4. 执行程序
  5. 容器自动退出

看到欢迎信息 = Docker 正常工作


3.3 容器生命周期管理(入门必会)

查看运行中的容器
docker ps
查看所有容器(包括已退出)
docker ps -a
启动一个容器
docker start 容器ID
停止容器
docker stop 容器ID
删除容器
docker rm 容器ID

四、常见问题与解决方案

4.1 安装常见问题

❌ Windows 启动 Docker 失败

原因:

  • WSL2 未启用
  • BIOS 虚拟化未开启

解决:

  • 检查wsl --status
  • BIOS 开启 Intel VT-x / AMD-V

❌ Linux 执行 docker 权限不足
permission denied while trying to connect to the Docker daemon

解决方案:

sudo usermod -aG docker $USER

然后重新登录


4.2 性能优化建议(新手必看)

1️⃣ Docker Desktop 资源配置
  • CPU:至少 2 核
  • 内存:≥ 4GB(推荐 8GB)
  • 磁盘:≥ 20GB
2️⃣ 不要滥用latest镜像
nginx:1.25

比:

nginx:latest

更安全、可控。


五、写在最后:你已经跨过 Docker 最难的一步

如果你已经做到:

  • 成功安装 Docker
  • 运行 hello-world
  • 理解容器和虚拟机的区别

那么恭喜你:

你已经具备学习 Dockerfile、Compose、Kubernetes 的基础认知

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 4:27:21

Zotero-SciPDF完全攻略:5分钟掌握智能文献下载神器

Zotero-SciPDF完全攻略:5分钟掌握智能文献下载神器 【免费下载链接】zotero-scipdf Download PDF from Sci-Hub automatically For Zotero7 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-scipdf 在学术研究的道路上,获取文献PDF全文往往是…

作者头像 李华
网站建设 2026/7/7 4:26:05

Multisim汉化助力电子课程:零基础小白指南

让电路仿真不再“天书”:手把手教你用汉化版Multisim玩转电子课你有没有在实验室里见过这样的场景?一个学生盯着电脑屏幕皱眉半天,鼠标悬停在一个按钮上迟迟不敢点——就因为上面写着“Run Simulation”。他不是不会做实验,而是根…

作者头像 李华
网站建设 2026/7/3 10:30:44

美术馆管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

摘要 随着数字化技术的快速发展,美术馆作为文化艺术传播的重要载体,其管理方式正逐步从传统人工模式向信息化、智能化转型。传统美术馆管理存在效率低下、数据易丢失、信息共享困难等问题,亟需一套高效、稳定的管理系统来优化业务流程。美术…

作者头像 李华
网站建设 2026/7/4 1:32:26

PaddlePaddle镜像如何实现模型压力测试?Locust模拟请求

PaddlePaddle镜像与Locust结合实现AI模型压力测试 在当前AI应用快速落地的背景下,一个训练好的深度学习模型能否稳定支撑高并发请求,直接决定了它是否具备投产价值。尤其是在金融、电商、政务等对系统稳定性要求极高的场景中,模型服务上线前的…

作者头像 李华
网站建设 2026/7/4 1:33:19

Mermaid.js状态图实战手册:从零构建完整的状态追踪系统

Mermaid.js状态图实战手册:从零构建完整的状态追踪系统 【免费下载链接】mermaid 项目地址: https://gitcode.com/gh_mirrors/mer/mermaid Mermaid.js作为开源图表库的佼佼者,其状态图功能让复杂的系统状态转换变得直观易懂。无论您是软件工程师…

作者头像 李华
网站建设 2026/7/4 1:32:19

WELearn智能助手终极指南:5分钟学会高效网课学习

WELearn智能助手终极指南:5分钟学会高效网课学习 【免费下载链接】WELearnHelper 显示WE Learn随行课堂题目答案;支持班级测试;自动答题;刷时长;基于生成式AI(ChatGPT)的答案生成 项目地址: https://gitcode.com/gh_…

作者头像 李华