news 2026/6/10 21:01:13

第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/6/10 13:34:42

Arduino蜂鸣器音乐代码的PWM波形优化策略

让Arduino蜂鸣器“唱”出好听的音乐:从刺耳“滴滴声”到悦耳旋律的PWM调音实战你有没有试过用Arduino驱动无源蜂鸣器播放《生日快乐》?代码写得没错,乐谱也对,可一通电——“嘀!嘀嘀!嘀——!”声…

作者头像 李华
网站建设 2026/6/10 13:41:36

nmodbus主站通信调试技巧:实战经验总结

nmodbus主站通信调试实战:从踩坑到精通的工程笔记最近在做一个工业数据采集项目,现场设备五花八门——有老式PLC、智能电表、温控仪,还有几台十年前出厂的变频器。上位机用C#写了个监控程序,本以为调通串口读几个寄存器是分分钟的…

作者头像 李华
网站建设 2026/6/10 13:33:46

小红书链接解析新玩法:告别失败,掌握智能解码技巧

小红书链接解析新玩法:告别失败,掌握智能解码技巧 【免费下载链接】XHS-Downloader 免费;轻量;开源,基于 AIOHTTP 模块实现的小红书图文/视频作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloa…

作者头像 李华
网站建设 2026/6/10 9:49:20

Arduino创意作品结合DHT11的数据采集系统构建

从零构建温湿度监测系统:Arduino与DHT11的实战指南你有没有试过走进一个房间,感觉闷热潮湿却说不清具体数值?或者担心家里的植物是不是缺水了?其实,这些日常问题都可以通过一个不到30元的小装置来解决——用Arduino D…

作者头像 李华
网站建设 2026/6/9 22:46:33

探索大数据领域数据仓库的多维分析技术

探索大数据领域数据仓库的多维分析技术:从“数据迷宫”到“决策地图” 一、引入与连接:为什么我们需要多维分析? 想象这样一个场景:你是某电商公司的运营经理,早上刚到办公室,就收到老板的灵魂拷问&#xf…

作者头像 李华