跳过正文
Background Image
  1. 所有文章/

终于搞懂Docker了:5分钟讲明白比官方更详细的终极指南

··1770 字·4 分钟
香港Henry
作者
香港Henry
用智慧看世界,用行动去探索,用好奇去生活。
目录

「这篇文章适合:完全不懂 Docker 的零基础小白」
一篇文章讲透 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 小白的“环境地狱”,进入“容器新时代”。

通过 Email 回复

相关文章

版本控制神器Git每个创作者都值得学习的高效工具
··2125 字·5 分钟
cloudflare域名解析子域名A和CNAME
··668 字·2 分钟
中国内地高净值人士跨境税务规划