docker-compose网络模式--network
@幻影忍者 2024-07-18 16:07:03 阅读 72
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"
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。