docker-compose网络模式--network

docker-compose.yml 配置文件中的 network_mode 是用于设置网络模式的,与 docker run 中的 --network 选项参数一样的,可配置如下参数:

Docker网络模式分类

Docker默认网络

      Docker默认提供了3种网络模式,当你安装Docker时,它会自动创建三个网络Bridge(创建容器,默认连接到此网络)、none、host

bridge

     这是Docker的默认网络模式。在桥接模式下,Docker会为每个容器分配一个IP地址,并创建一个本地的网络桥接接口,连接所有在该主机上运行的容器。通过桥接接口,容器可以相互通信,也可以与主机上的其他服务通信。桥接模式适用于单主机多容器的情况。

network_mode: "bridge"

host

     在主机模式下,容器与主机共享网络命名空间。容器将直接使用主机的网络接口,而不是创建独立的网络栈。这意味着容器可以使用主机上的所有网络功能和服务,包括使用主机的IP地址和端口。主机模式适用于需要容器与主机之间网络性能最大化的场景。

version: '3'

services:
  api-geteway:
    image: 镜像地址
    container_name: api-geteway
    environment:
      # 时区上海
      TZ: Asia/Shanghai
    volumes:
      # 配置文件
      - ./gatawary/logs/:/bussiness-test/api-geteway/logs/
      - ./gatawary/api_geteway-1.0.jar:/bussiness-test/api-geteway/app.jar
    restart: always
    privileged: true
    network_mode: "host"

none

     在无网络模式下,容器没有分配任何网络资源。这意味着容器内部没有网络接口,也没有IP地址。无网络模式适用于不需要网络连接的容器,例如用于批处理作业或与外部网络完全隔离的容器。

network_mode: "none"

container

      在容器模式下,多个容器共享同一个网络命名空间。这意味着这些容器可以使用相同的IP地址和端口,它们可以直接通过本地主机名相互通信,就像它们在同一个主机上一样。容器模式适用于需要多个容器之间进行高性能通信的场景。

network_mode: "container:[container name/id]"

自定义网络

       自定义网络模式允许用户创建和管理自己的网络。用户可以创建多个自定义网络,并将容器连接到这些网络中。自定义网络模式提供了更灵活的网络配置选项,例如指定子网、定义网络驱动程序和连接多个容器到同一个网络等。

# 创建子网掩码为16位的网段

docker network create --subnet=172.18.0.0/16 mynet

# 查看自定义网段信息

docker network inspect mynet

network_mode: "mynet"

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值