「这篇文章适合:完全不懂 Docker 的零基础小白」
一篇文章讲透 Docker 是什么?为什么火?怎么用?看完就能立刻上手实操!轻松入门基础教程
一句话说清楚 #
Docker 就是一个“装程序的集装箱”。
把程序、依赖、配置、环境全部装进一个箱子里,
搬到任何电脑、服务器都能一键运行,不会出错。最主要的是这个集装箱全球统一标准更是全球通用的,在电脑程序中你可以理解为跨平台可以使用。
可能说的还有些不够具体那就举个生活当中的栗子 #
想象你在开咖啡档:
- 每开一家分店,都要重新装设备、调机器、水电……麻烦到爆。
- 但如果你有标准集装箱,里面已经装好咖啡机、豆子、桌椅、菜单只要运到新地方,插上电就能开张!
- 完全不需要大费周章每次重新装修置办家当,直接拿来即用用完既走,方便快捷高效。
👉 Docker 就是这样。
它帮程序员把整个环境都打包好。 不论换电脑、换服务器,还是让别人跑你的代码, 都能做到「一箱打包、随处运行」。当然也不局限于程序员,普通人使用也不在话下。很多人一听程序员就被吓跑了其实大可不必,我也是非程序员菜鸟入门主要是为了运营网站才入坑的。所以小白完全可以跟着我这保姆级教程一步步走。我们走的通那么屏幕前的你也一定可以。
为什么大家都在学 Docker? #
| 问题 | 传统方式 | Docker 方式 |
|---|---|---|
| 环境安装 | 到处装库、出错、冲突 | 一条命令自动运行 |
| 团队协作 | “我电脑能跑啊” | 环境 100% 一致 |
| 部署上线 | 换服务器又要重配 | 打包成镜像直接部署 |
| 安全性 | 程序互相影响 | 每个容器独立隔离 |
总之一句话:
Docker 让软件部署像「发快递」一样简单。不是写程序更不是项目开发就当个应用就可以。
一分钟跑通 Docker #
👇 你可以马上试试,保证可以成功。
1️⃣ 打开终端
2️⃣ 输入命令:
docker run hello-world
3️⃣ Docker 会自动下载一个镜像并运行它
你会看到输出:
Hello from Docker!
Your installation appears to be working correctly.
🎉 恭喜,你刚刚运行了人生第一个 Docker 容器!
核心概念一张图秒懂 #
| 概念 | 通俗解释 | 类比 |
|---|---|---|
| 镜像 (Image) | 程序模板 | 咖啡档蓝图 |
| 容器 (Container) | 运行中的镜像实例 | 正在营业的咖啡档 |
| Dockerfile | 制作镜像的说明书 | 装修手册 |
| Docker Hub | 镜像仓库 | 全球集装箱港口 |
三分钟部署一个网站(Nginx 示例) #
我们来实战搭建一个网站服务器,只需一条命令👇
docker run -d -p 8080:80 nginx
解释一下:
-d:后台运行-p 8080:80:把你电脑的 8080 端口映射到容器的 80 端口nginx:网站服务器镜像
运行成功后,在浏览器打开:
👉 http://localhost:8080
🎉 屏幕出现“Welcome to nginx!”
恭喜你——你的第一个网站上线了。
💾 如何让容器数据不丢(挂载卷 Volume) #
默认情况下,容器删了数据也会丢。
但用“卷 (Volume)”可以把数据保存到本地。
docker run -d -p 8081:80 -v $(pwd)/nginx-logs:/var/log/nginx nginx
这行命令意思是:
- 把本地文件夹
nginx-logs - 挂载到容器的
/var/log/nginx - 日志会实时保存到你的电脑上!
自己造一个镜像(Dockerfile 实战) #
下面我们来做个“Hello Docker”网站镜像
1️⃣ 新建一个文件夹:
mkdir myapp && cd myapp
2️⃣ 新建文件 Dockerfile:
FROM nginx
COPY index.html /usr/share/nginx/html/index.html
3️⃣ 新建文件 index.html:
<h1>Hello Docker!</h1>
4️⃣ 构建镜像:
docker build -t mynginx:v1 .
5️⃣ 运行:
docker run -d -p 8082:80 mynginx:v1
👉 访问 http://localhost:8082,
你就能看到自己定制的网页!
一次启动多个服务(Docker Compose 实战) #
比如你要同时启动:
- 一个网站(Nginx)
- 一个数据库(MySQL)
新建文件 docker-compose.yml:
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 123456
运行:
docker-compose up -d
🎯 一条命令,网站 + 数据库同时上线!
Docker 真正的意义 #
Docker 不是“新技术”,而是软件交付方式的革命:
- 从“我电脑能跑”
- 到“所有电脑都能跑”
它让开发、测试、运维的边界变得模糊,
让软件部署从痛苦变成优雅。
总结 #
Docker 就是让程序“装进集装箱”的神器。
一键打包、一键运行、随处部署、永不出错。
看完这篇,你已经能:
✅ 运行容器
✅ 部署网站
✅ 保存数据
✅ 自制镜像
✅ 启动多服务
最后送你一份 Docker 命令速查表 #
| 功能 | 命令 |
|---|---|
| 查看镜像 | docker images |
| 查看容器 | docker ps -a |
| 停止容器 | docker stop [容器ID] |
| 删除容器 | docker rm [容器ID] |
| 构建镜像 | docker build -t 名称:版本 . |
| 查看日志 | docker logs [容器ID] |
| 启动服务 | docker-compose up -d |
💬 写在最后 #
学 Docker,不是为了炫技,而是为了省命。 让自己的电脑使用技能提升那么一丢丢而已。 装环境崩溃?部署出错?协作乱七八糟?
有了 Docker,一切都像装箱搬家那么简单。 以前是会电脑就是高手,现人人用电脑的时代会用 docker 就像是互联网开始时候用 QQ 交通而已,所以时代在变我们的技术也要跟上时代才是。
刚刚学的怎么样?赶紧趁热打铁实操起来。
👇 收藏 + 转发
让更多人告别 docker 小白的“环境地狱”,进入“容器新时代”。