Add blank lines before headers

This commit is contained in:
yeasy
2026-03-21 12:57:51 -07:00
parent 0648f63979
commit 312f8fea42
76 changed files with 411 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ EXPOSE <端口> [<端口>/<协议>...]
### 7.9.2 基本用法
```docker
## 声明单个端口
EXPOSE 80
@@ -36,12 +37,14 @@ EXPOSE 53/udp
告诉镜像使用者容器将在哪些端口提供服务
```docker
## 使用者一看就知道这是 web 应用
EXPOSE 80 443
```
```bash
## 查看镜像暴露的端口
$ docker inspect nginx --format '{{.Config.ExposedPorts}}'
@@ -53,6 +56,7 @@ map[80/tcp:{}]
使用 `docker run -P` Docker 会自动映射 EXPOSE 的端口到宿主机随机端口
```docker
## Dockerfile
EXPOSE 80
@@ -85,15 +89,18 @@ flowchart TD
#### 没有 EXPOSE 也能 -p
```docker
## 即使没有 EXPOSE也可以使用 -p
FROM nginx
## 没有 EXPOSE
...
```
```bash
## 仍然可以映射端口
$ docker run -p 8080:80 mynginx
@@ -106,6 +113,7 @@ $ docker run -p 8080:80 mynginx
#### 误解EXPOSE 会打开端口
```docker
## ❌ 错误理解:这不会让容器可从外部访问
EXPOSE 80
@@ -122,6 +130,7 @@ EXPOSE 只是元数据声明。容器是否实际监听该端口,取决于容
#### 正确理解
```docker
## Dockerfile
FROM nginx
@@ -129,6 +138,7 @@ EXPOSE 80 # 1. 声明:这个容器会在 80 端口提供服务
```
```bash
## 运行:需要 -p 才能从外部访问
$ docker run -p 8080:80 nginx # 2. 映射:宿主机 8080 → 容器 80
@@ -141,6 +151,7 @@ $ docker run -p 8080:80 nginx # 2. 映射:宿主机 8080 → 容器 80
#### 1. 总是声明应用使用的端口
```docker
## Web 服务
FROM nginx
@@ -160,6 +171,7 @@ EXPOSE 6379
#### 2. 使用明确的协议
```docker
## 默认是 TCP
EXPOSE 80
@@ -176,6 +188,7 @@ EXPOSE 53/tcp 53/udp
#### 3. 与应用实际端口保持一致
```docker
## ✅ 好EXPOSE 与应用端口一致
ENV PORT=3000