docker-compose网络
1. 概念
网络模式
- bridge
- none
- container
- host
- 外部网络,如: flannel、calico
2. 示例:网络创建和使用
- 命令行创建网络
# docker network create mynetwork
# docker network ls
- 使用docker-copose创建网络并使用
说明:以下以das项目为例
- docker-compse启动das服务的同时创建了一个名为 xxx_kong-net的网络
- xxx为创建网络的docker-compose.yaml文件所在目录的名字
docker-compose的yml文件中定义如下:
……
user-center:
image: 10.252.97.57/das/scs-user:1.0.1
# 使用网络
networks:
- kong-net
environment:
- "SPRING_PROFILES_ACTIVE=test"
- TZ=Asia/Shanghai
- DB_HOST
- DB_PORT
- UPLOAD_PATH
- KONG_URL
ports:
- "${APP_USER_PORT}:8088"
volumes:
- ./logs:/logs/
container_name: das-user
restart: always
# 创建网络
networks:
kong-net:
driver: bridge
- 使用已有的网络
在docker-compose.yml中使用已创建好的网络
仍然已das为例,刚才后端的yml文件已经创建了kong-net网络,此处直接引用并使用。
web:
image: "das/web:1.1.1"
container_name: "iot-web"
networks:
- kong-net
ports:
- 8008:3080
volumes:
- ./web.conf:/.env
- /etc/localtime:/etc/localtime
restart: always
networks:
kong-net:
external:
name: app_kong-net
3. 示例:指定网段和IP
- 命令行指定
命令行创建网络时,为网络指定网段。
docker network create --subnet=172.18.0.0/16 mynetwork
- yaml文件中指定
docker-compose.yaml中创建网络,为网络指定网段;并为容器指定合法IP。
yaml文件中指定
networks:
backend:
ipv4_address: 192.168.101.10
networks:
backend:
driver: bridge
ipam:
config:
- subnet: 192.168.101.0/24
gateway: 192.168.101.1
4. 示例:主机模式启动网络
- 特点:端口不需映射
- 使用
具体服务下定义network_mode: "host"
,以medier-server为例
version: "3.1"
services:
media_server:
image: harbocto.boe.com.cn/public/kurento-media-server
environment:
KMS_MIN_PORT: 5000
KMS_MAX_PORT: 5050
TZ: Asia/Shanghai
#主机模式启动
network_mode: "host"
restart: always
posted on 2021-09-08 16:06 运维开发玄德公 阅读(110) 评论(0) 编辑 收藏 举报 来源