Docker-网络配置

目标

容器间通过主机名访问

默认网络环境(动态 IP,通过主机名无法通信)

docker run -it --rm --name testdb  -h testdb  centos:8 /bin/bash
docker run -it --rm --name testweb -h testweb centos:8 /bin/bash

[root@testdb /]# ping testweb
ping: testweb: Name or service not known

[root@testweb /]# ping testdb
ping: testdb: Name or service not known

修改 Docker 默认网关

  1. 创建网络桥接
docker network create -d bridge --subnet=192.168.16.0/20 my-bridge

docker network ls

ip a
  1. 创建容器 并 配置网桥
docker run -it --rm -h testdb  --network my-bridge centos:8 /bin/bash

docker run -it --rm -h testweb --network my-bridge centos:8 /bin/bash

[root@testdb /]# ping testweb

[root@testweb /]# ping testdb
  1. 查看 bridge0 网络
docker network inspect bridge0
  1. 创建一个日常排查用的 centros 容器
docker run -id --name test -h test --network my-bridge centos:8 /bin/bash

docker exec -it test /bin/bash

参考资料

docker Pipework配置宿主机和docker实例的IP在同一个网段
Docker 踩坑记 (一):CentOs7 配置不失效网桥,pipework 分配 IP 给 Docker 容器
Docker-Docker容器跨主机通信
Docker容器与宿主机同网段互相通信
Linux虚拟网络设备之bridge(桥)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。