目标:15 分钟内完成 Docker 安装、核心命令实操、Nginx 容器部署、自定义镜像构建,快速上手容器化核心流程。
前置准备(1 分钟)
- 环境:Windows 10+ / MacOS / Linux(推荐 Ubuntu 20.04+)
- 要求:网络通畅(需拉取镜像)、管理员 /root 权限
- 目标:理解「镜像→容器」的核心逻辑,完成可访问的容器化应用
第一步:安装 Docker(5 分钟)
Docker 分为「Docker Engine(核心引擎)」和「Docker Desktop(桌面可视化工具,Windows/Mac 推荐)」,下面分系统演示最简安装方式:
1. Windows 10+ 安装
-
开启 WSL2(必须):
-
按
Win+X→ 管理员身份运行「终端」,执行命令:bashwsl --install # 自动安装 WSL2 和 Ubuntu,需重启电脑
-
-
下载 Docker Desktop:
- 官网下载:https://www.docker.com/products/docker-desktop/(免费)
- 安装后启动,勾选「Use WSL 2 instead of Hyper-V」,等待启动完成(右下角 Docker 图标变绿)。
-
验证:打开终端,执行
docker --version,输出版本号即成功(如Docker version 27.0.3, build 7d4bcdc)。
2. MacOS 安装
- 直接下载 Docker Desktop:https://www.docker.com/products/docker-desktop/
- 拖拽到应用文件夹,启动后等待图标变绿。
- 验证:终端执行
docker --version,输出版本号即成功。
3. Linux(Ubuntu 20.04+)安装
-
终端执行一键安装脚本(官方推荐):
bashsudo curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh -
启动 Docker 服务并设置开机自启:
bashsudo systemctl start docker sudo systemctl enable docker -
(可选)免 sudo 操作 Docker
bashsudo usermod -aG docker $USER # 执行后注销重新登录 -
验证:
docker --version,输出版本号即成功。
第二步:Docker 核心概念速览(1 分钟)
- 镜像(Image):容器的「模板」,包含运行应用所需的代码、依赖、配置(如 Nginx 镜像包含 Nginx 程序和默认配置)。
- 容器(Container):镜像的「运行实例」,是独立的运行环境(可理解为轻量级虚拟机,启动快、资源占用少)。
- 仓库(Registry):存放镜像的平台(如 Docker Hub 是官方公共仓库,可拉取 Nginx、MySQL 等现成镜像)。
核心逻辑:拉取镜像(pull)→ 运行容器(run)→ 操作容器(start/stop/exec)
第三步:核心命令实战(3 分钟)
打开终端,逐行执行以下命令,感受 Docker 操作逻辑:
1. 查看 Docker 状态
bash
docker info # 查看 Docker 系统信息(验证是否正常运行)
2. 拉取官方 Nginx 镜像
bash
docker pull nginx:latest # 拉取最新版本的 Nginx 镜像(:latest 可省略)
docker images # 查看本地已下载的镜像(能看到 nginx 镜像的 ID、标签等)
3. 运行 Nginx 容器(核心命令)
docker run -d -p 80:80 --name my-first-nginx nginx
- 参数解释:
-d:后台运行容器( detached 模式)-p 80:80:端口映射(本地端口:容器端口,外部通过本地 80 端口访问容器)--name my-first-nginx:给容器起名字(方便后续操作)nginx:指定运行的镜像名称
4. 查看容器状态
bash
docker ps # 查看正在运行的容器(能看到 my-first-nginx 的状态、端口映射)
docker ps -a # 查看所有容器(包括停止的)
5. 访问容器化 Nginx
- 打开浏览器,输入
http://localhost(Windows/Mac)或http://服务器IP(Linux),能看到 Nginx 欢迎页 → 部署成功!
6. 操作容器(启动 / 停止 / 删除)
bash
docker stop my-first-nginx # 停止容器
docker start my-first-nginx # 启动已停止的容器
docker rm my-first-nginx # 删除容器(需先停止,强制删除加 -f)
docker rmi nginx:latest # 删除本地镜像(需先删除依赖该镜像的容器)
第四步:进阶实战:容器数据持久化(3 分钟)
默认情况下,容器内的文件修改会随容器删除而丢失,通过「目录挂载(-v 参数)」实现数据持久化(本地文件同步到容器)。
1. 本地创建目录和测试文件
bash
# 创建本地目录(存放 Nginx 网页文件)
mkdir -p ./nginx-html
# 编写一个自定义网页(替换 Nginx 默认页面)
echo "<h1>Hello Docker! 这是我的第一个容器化应用</h1>" > ./nginx-html/index.html
2. 挂载本地目录运行 Nginx
bash
docker run -d -p 80:80 -v $(pwd)/nginx-html:/usr/share/nginx/html --name nginx-with-volume nginx
-v $(pwd)/nginx-html:/usr/share/nginx/html:将本地./nginx-html目录挂载到容器内 Nginx 的网页根目录。
3. 验证数据持久化
- 浏览器访问
http://localhost,能看到自定义的「Hello Docker!」页面。 - 修改本地
./nginx-html/index.html文件(比如添加一行文字),刷新浏览器 → 页面实时更新(无需重启容器)。 - 执行
docker rm -f nginx-with-volume删除容器后,本地./nginx-html目录的文件依然存在 → 数据持久化成功!
第五步:自定义镜像(Dockerfile 入门)(2 分钟)
除了拉取官方镜像,还能通过 Dockerfile 构建自己的镜像(比如基于 Nginx 定制化网页)。
1. 创建 Dockerfile 文件
在 ./nginx-html 同级目录下,创建 Dockerfile 文件(无后缀名),内容如下:
dockerfile
# 基础镜像(基于官方 Nginx)
FROM nginx:latest
# 将本地 nginx-html 目录的文件复制到容器内 Nginx 根目录
COPY ./nginx-html /usr/share/nginx/html
# 暴露容器 80 端口(仅声明,不实际映射)
EXPOSE 80
2. 构建自定义镜像
bash
docker build -t my-custom-nginx:v1 .
- 参数解释:
-t my-custom-nginx:v1:给镜像打标签(名称:版本号).:指定 Dockerfile 所在目录(当前目录)
3. 运行自定义镜像
bash
docker run -d -p 81:80 --name my-custom-nginx my-custom-nginx:v1
- 浏览器访问
http://localhost:81,能看到自定义页面 → 自定义镜像构建成功!
总结:15 分钟核心回顾(1 分钟)
- 安装 :Docker Desktop(Windows/Mac)或 Docker Engine(Linux),
docker --version验证。 - 核心流程 :
pull 镜像 → run 容器 → 访问应用。 - 关键命令 :
docker pull/run/ps/stop/rm/rmi/build。 - 核心技巧 :端口映射(
-p)、数据持久化(-v)、自定义镜像(Dockerfile)。
通过以上步骤,你已经掌握了 Docker 的核心用法!后续可尝试部署 MySQL、Redis 等应用(流程类似:拉取镜像→运行容器→配置映射),深入体会容器化的便捷性。