docker微服务同网段配置
docker部署微服务,有时需要在某服务容器中ping通其它服务,可以将这些服务配置在同一网桥下:
1.自定义网桥
docker network create -d bridge mynetwork #网桥名称: mynetwork
2.配置docker-compose.yaml文件
两个地方需要修改,首先在创建容器时要指定使用的自定义网桥名称,然后在services同级下要申明外部引用的网络,否则创建容器时会报网络无法找到的错误.
services: gateway: restart: always image: gateway container_name: gateway networks: - mynetwork # 自定义网桥名称 ports: - 12345:12345 environment: TZ: Asia/Shanghai volumes: - /opt/docker_springboot:/opt/gateway networks: # 申明外部网络引用 mynetwork: external: true
- 重启容器
3.查看容器ip
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
可以看到所有服务都处于同一网段了.