Docker compose中expose和port的区别

  • expose 指定的端口,是提供给 compose 中其他 service 用的,不会映射到宿主机上。
  • port 指定的端口,则会映射到宿主机上。

expose

services:
  myapp1:
    .
    expose:
      - "3000"
      - "8000"

port

services:
  myapp1:
    ...
    ports:
    - "3000"                 # 容器中的3000端口映射到主机一个随机端口
    - "3001-3005"            # 容器中的3001-3005端口映射到主机一个随机端口段
    - "8000:8000"            # 容器中的8000端口映射到主机的8000端口
    - "9090-9091:8080-8081"  # 容器中的8080-8081映射到主机的9090-9091
    - "127.0.0.1:8002:8002"  # 容器中的8002端口映射主机127.0.0.1地址的8002
    - "6060:6060/udp"        # 限制容器中6060端口的udp协议到主机的6060端口  

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注