Fix and improve

This commit is contained in:
Baohua Yang
2026-02-12 16:51:50 -08:00
parent bae82e993a
commit 0835f8467a
100 changed files with 280 additions and 622 deletions

View File

@@ -2,8 +2,6 @@
### 基本语法
具体内容如下
```docker
EXPOSE <端口> [<端口>/<协议>...]
```
@@ -14,8 +12,6 @@ EXPOSE <端口> [<端口>/<协议>...]
### 基本用法
具体内容如下
```docker
## 声明单个端口
@@ -97,16 +93,13 @@ $ docker port $(docker ps -q)
#### 没有 EXPOSE 也能 -p
具体内容如下
```docker
## 即使没有 EXPOSE也可以使用 -p
FROM nginx
## 没有 EXPOSE
具体内容如下:
...
```
```bash
@@ -121,8 +114,6 @@ $ docker run -p 8080:80 mynginx
#### 误解EXPOSE 会打开端口
具体内容如下
```docker
## ❌ 错误理解:这不会让容器可从外部访问
@@ -138,8 +129,6 @@ EXPOSE 只是元数据声明。容器是否实际监听该端口,取决于容
#### 正确理解
具体内容如下
```docker
## Dockerfile
@@ -159,8 +148,6 @@ $ docker run -p 8080:80 nginx # 2. 映射:宿主机 8080 → 容器 80
#### 1. 总是声明应用使用的端口
具体内容如下
```docker
## Web 服务
@@ -180,8 +167,6 @@ EXPOSE 6379
#### 2. 使用明确的协议
具体内容如下
```docker
## 默认是 TCP
@@ -198,8 +183,6 @@ EXPOSE 53/tcp 53/udp
#### 3. 与应用实际端口保持一致
具体内容如下
```docker
## ✅ 好EXPOSE 与应用端口一致
@@ -217,8 +200,6 @@ CMD ["node", "server.js"] # 实际监听 3000
### 使用环境变量
具体内容如下
```docker
ARG PORT=80
EXPOSE $PORT
@@ -256,6 +237,6 @@ services:
### 延伸阅读
- [网络配置](../../network/README.md)Docker 网络详解
- [端口映射](../../network/port_bindingbindingbinding.md)-p 参数详解
- [Compose 端口](../../compose/10.5_compose_file.md)Compose 中的端口配置
- [网络配置](../08_data_network/network/README.md)Docker 网络详解
- [端口映射](../08_data_network/network/port_mapping.md)-p 参数详解
- [Compose 端口](../10_compose/10.5_compose_file.md)Compose 中的端口配置