docker-compose 使用自定义网络并绑定 IP
0x00 事件
原先使用了 docker network create mynetwork
的方式创建了自定义网络,在使用 docker-compose 工具运行服务的时候,需要容器使用 mynetwork 网络并绑定 IP。
0x01 解决
吾原先创建自定义网络时,指定了网段
$ docker network create --subnet=172.18.0.0/16 mynetwork
在 yml 文件中,指定一下外部自定义网络,并绑定 IP 即可。
示例
version: '3'
services:
mysql:
image: mysql:5.7
container_name: mysql
ports:
- '3336:3306'
volumes:
- /data/mysql/conf:/etc/mysql/conf.d
- /data/mysql/data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
networks:
default:
ipv4_address: 172.18.0.31
networks:
default:
external:
name: mynetwork