Files
docker_practice/01_introduction/1.1_quickstart.md
T
yeasy ef2625531d style: 含中文的括号统一为全角(336 处 / 110 文件)
全书此前是真·五五开:含中文的括号 336 处半角 : 336 处全角,而且**在同一文件
内混用**——`18_security/18.1_kernel_ns.md` 第 11/17/20 行写 `(如 runC)`,
第 31 行写 `(用户命名空间映射)`。这不是体例问题,是它自己跟自己不一致。

集群里其余 13 本都一边倒(llm_internals 5 : 1049、oc_guide 2 : 713、
forward_deployed_engineering_guide 0 : 108),blockchain_guide 已在 2026-08-05
按同一方向统一过 97 处,故取全角,而非另立新规。全角括号前后不留空格,
原先 `概念 (镜像、容器、仓库) 和` 两侧的空格一并收掉。

**纯拉丁内容的半角括号一个没动**——`新建一个层 (Layer)`、`项目 (project)`
保持原样:改动前后「半角且内容纯拉丁」的数量都是 **1163**,而「半角且含中文」
从 **336 变成 0**。

其余验证:改动前后各自抹掉全部空白与圆括号后**逐字节相同**(两侧均 19559 字符);
左右括号总数改动前后都是 399 : 399,证明没有吞括号也没有配错对。
`check_project_rules` 202/202、`check_emphasis` 202/202、37 tests OK、
根 `format_checker` 与 `validate_codeblocks` 干净、`git diff --check` 干净。
2026-08-24 13:13:23 -07:00

2.8 KiB
Raw Blame History

1.1 快速上手

版本说明:本节示例基于 Docker v29.x 编写。示例中使用的 nginx:alpine 镜像标签为演示用途,请查阅 Docker Hub - nginx 确认最新可用版本。

开始前请先完成 第 3 章安装 Docker,并确认 docker version 与 docker run hello-world 可以正常执行。若你只是先浏览流程,可以读完本节后再回到安装章实践。

本节将通过一个简单的 Web 应用例子,带你快速体验 Docker 的核心流程:构建镜像、运行容器。

为什么选择 Nginx + HTML 作为入门例子?

在学习 Docker 之前,我们先来理解为什么这个例子适合初学者。Docker 的核心价值在于一致性交付:在相同镜像、CPU 架构、内核能力、配置和外部依赖都满足的前提下,应用行为可以保持高度一致。这个 Nginx + 静态 HTML 的例子之所以被广泛采用,是因为它展现了 Docker 工作流的三个核心阶段:

  1. 镜像定义(Image Layer):通过 Dockerfile 描述如何把应用打包成一个自包含的单元
  2. 镜像构建(Build):执行 docker build,Docker 根据 Dockerfile 逐层构建镜像
  3. 容器运行(Runtime):通过 docker run 启动容器实例,应用真正开始提供服务

Nginx 是一个轻量级、使用广泛的 Web 服务器,学习完这个例子后,你可以轻松扩展到部署 Node.js、Python、Go 等任何语言的应用。

1.1.1 准备代码

创建一个名为 hello-docker 的文件夹,并在其中创建一个 index.html 文件:

<h1>Hello, Docker!</h1>

1.1.2 编写 Dockerfile

在同级目录下创建一个名为 Dockerfile(无后缀)的文件:

FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html

1.1.3 构建镜像

打开终端,进入该目录,执行构建命令:

$ docker build -t my-hello-world .
  • docker build:构建命令
  • -t my-hello-world:给镜像起个名字(标签)
  • .:指定上下文路径为当前目录

1.1.4 运行容器

使用刚才构建的镜像启动一个容器:

$ docker run -d -p 8080:80 my-hello-world
  • docker run:运行命令
  • -d:后台运行
  • -p 8080:80:将宿主机的 8080 端口映射到容器的 80 端口

1.1.5 访问测试

打开浏览器访问 http://localhost:8080,你应该能看到 “Hello, Docker!”。

1.1.6 清理

停止并删除容器:

# 查看正在运行的容器 ID

$ docker ps

# 停止容器

$ docker stop <CONTAINER_ID>

# 删除容器

$ docker rm <CONTAINER_ID>

恭喜!你已经完成了第一次 Docker 实战。接下来请阅读 Docker 核心概念做深入了解。