0
点赞
收藏
分享

微信扫一扫

Docker网络模式之自定义网络

野见 2023-09-11 阅读 52

在默认的网络模式bridge中,容器与容器之间只能通过IP互通无法解析主机名且无法通过主机名互通。

一、在默认网络模式下测试容器间的互通

新建两个容器

docker run -itd --name network1 --privileged  centos:latest /usr/sbin/init

docker run -itd --name network2 --privileged  centos:latest /usr/sbin/init

在默认网络模式bridge下测试:通过IP地址互ping两个容器,可以正常访问,通过服务名则无法访问。

通过IP互ping,通断没有问题

Docker网络模式之自定义网络_网络模式

通过服务名互ping时会提示未知或找不到

Docker网络模式之自定义网络_docker_02

二、将容器加入自定义网络测试主机名的互通

将容器的网络设置为自定义网络

#新建自定义网络
docker network create lr_network

新建容器网络设置为自定义网络

docker run -d --name lr1 --privileged=true --network lr_network  centos:latest /usr/sbin/init

docker run -d --name lr2 --privileged=true --network lr_network  centos:latest /usr/sbin/init

测试容器能否通过服务名互通

#进入容器1
docker exec -it lr1 bash
#进入容器2
docker exec -it lr2 bash

如图所示,通过为容器添加自定义网络可以使IP与主机名都互通。

Docker网络模式之自定义网络_网络模式_03

小结:自定义网络中默认协调好了主机名与ip的对应关系,所以容器之间使用ip或主机名都能互通。
举报

相关推荐

0 条评论