未显式声明
docker-compose中未显式声明,会生成默认的网络
version: "3.4"
services:
redis-web:
image: redis-web:1.0
container_name: redis-web
restart: always
environment:
REDIS_HOST: redis-app
ports:
- 8001:8001
depends_on:
- redis-app
redis-app:
image: redis:latest
container_name: redis-app
restart: always
启动的容器会被加入test_default中,其中test为docker-compose的父文件夹名
[root@vm02 test]# docker network ls
NETWORK ID NAME DRIVER SCOPE
fba1a241ba5f bridge bridge local
662b6e28d109 docker_gwbridge bridge local
e5180989ca67 host host local
91f9327572be none null local
be43cf4b2125 test_default bridge local
networks关键字自定义网络
version: '3.4'
services:
web-1:
image: redis-web:1.0
container_name: web1
networks:
- front
- back
redis:
image: redis
container_name: redisdb
networks:
- back
networks:
front:
driver: bridge
back:
driver: bridge
driver_opts:
foo: "1"
bar: "2"
[root@vm02 network-test]# docker network ls
NETWORK ID NAME DRIVER SCOPE
ca9419193d95 network-test_back bridge local
7c38ab9beba4 network-test_front bridge local
配置默认网络
新建一个network
version: '3.4'
services:
web-1:
image: redis-web:1.0
container_name: web1
redis:
image: redis
container_name: redisdb
networks:
default:
driver: bridge
[root@vm02 network-test]# docker network ls
NETWORK ID NAME DRIVER SCOPE
f1390c710b8c network-test_default bridge local
使用现有网络
新建一个network
docker network create net-a --driver bridge
version: '3.4'
services:
web-1:
image: redis-web:1.0
container_name: web1
redis:
image: redis
container_name: redisdb
networks:
default:
external:
name: net-a
docker-compose中network_mode
配置方式
network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"
下面的docker-compose将不会生成新的网络
version: '3.4'
services:
web-1:
network_mode: bridge
image: redis-web:1.0
container_name: web1
redis:
network_mode: bridge
image: redis
container_name: redisdb
网友评论