mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 04:14:38 +00:00
Add more content and fix format
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
## 7.9 EXPOSE 声明端口
|
||||
## 7.9 EXPOSE 暴露端口
|
||||
|
||||
### 7.9.1 基本语法
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
EXPOSE <端口> [<端口>/<协议>...]
|
||||
```
|
||||
@@ -14,8 +12,6 @@ EXPOSE <端口> [<端口>/<协议>...]
|
||||
|
||||
### 7.9.2 基本用法
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 声明单个端口
|
||||
|
||||
@@ -88,8 +84,6 @@ flowchart TD
|
||||
|
||||
#### 没有 EXPOSE 也能 -p
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 即使没有 EXPOSE,也可以使用 -p
|
||||
|
||||
@@ -111,8 +105,6 @@ $ docker run -p 8080:80 mynginx
|
||||
|
||||
#### 误解:EXPOSE 会打开端口
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## ❌ 错误理解:这不会让容器可从外部访问
|
||||
|
||||
@@ -129,8 +121,6 @@ EXPOSE 只是元数据声明。容器是否实际监听该端口,取决于容
|
||||
|
||||
#### 正确理解
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## Dockerfile
|
||||
|
||||
@@ -150,8 +140,6 @@ $ docker run -p 8080:80 nginx # 2. 映射:宿主机 8080 → 容器 80
|
||||
|
||||
#### 1. 总是声明应用使用的端口
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## Web 服务
|
||||
|
||||
@@ -171,8 +159,6 @@ EXPOSE 6379
|
||||
|
||||
#### 2. 使用明确的协议
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## 默认是 TCP
|
||||
|
||||
@@ -189,8 +175,6 @@ EXPOSE 53/tcp 53/udp
|
||||
|
||||
#### 3. 与应用实际端口保持一致
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
## ✅ 好:EXPOSE 与应用端口一致
|
||||
|
||||
@@ -208,8 +192,6 @@ CMD ["node", "server.js"] # 实际监听 3000
|
||||
|
||||
### 7.9.7 使用环境变量
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```docker
|
||||
ARG PORT=80
|
||||
EXPOSE $PORT
|
||||
|
||||
Reference in New Issue
Block a user