容器之间互访的方式

By | 2023 年 9 月 25 日

默认情况下,容器之间都是互相隔离不可以访问的。那么需要访问可以通过以下几种方式实现。

1、虚拟ip访问
docker 内部的默认桥接网络docker0,会创建和分配虚拟网卡,容器之间可以通过所获取的IP 进行互相访问。但是这个需要知道每个容器的IP,常规玩玩的用户,这种方式非常麻烦。(大型容器系统会结合域名系统实现,不在本文范围内)

2、运行时通过link关联
docker run -d -P --name tomcat01 docker.io/tomcat
docker run -d -P --name tomcat04 --link tomcat01 docker.io/tomcat
这样的情况下,04可以ping通"tomcat01", 但是反过来不行。
而且需要有执行顺序。
原理:实际上是在04的hosts中增加了01的对应记录

3、 创建桥接网络
docker network create --driver bridge --subnet 192.168.20.0/24 --gateway 192.168.20.1 younet
容器连接网络

docker run -it --name <容器名> ---network <bridge> --network-alias <网络别名> <镜像名>

好处:集群网络相对独立和互相隔离

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据