Docker容器之间的通信
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker容器之间的通信相关的知识,希望对你有一定的参考价值。
参考技术A 用法:验证:
查看已创建的网络:
2, 启动一个容器,使用自建的网络my-bridge
使用自建网络启动的容器,ip 为172.18.0.2
再启动一个容器test4,不使用 --network 指定网络,默认使用docker0网络:
容器test3和test4没做关联时,不管是使用容器名还是容器的IP,都是无法ping通的:
查看test4就多了一个虚拟网卡,并和test3在同一网段
接下来部署一个flask程序,程序中需要用到redis。所以要启动两个容器,分别是运行redis服务的容器和运行flask程序的容器,而flask容器需要依赖redis容器。
先启动一个redis容器
构建一上flask程序的镜像
app.py文件内容:
Dockerfile文件内容:
构建flask程序镜像:
启动容器,并在后台运行:
进入容器查看: docker exec -it flask-redis /bin/bash
访问:
在docker-node1上
在docker-node2上
检查cluster状态
在docker-node1上
在docker-node2上
在docker-node1上创建一个demo的overlay network
我们会看到在node2上,这个demo的overlay network会被同步创建
通过查看etcd的key-value, 我们获取到,这个demo的network是通过etcd从node1同步到node2的
在docker-node1上
在docker-node2上
验证连通性。
以上是关于Docker容器之间的通信的主要内容,如果未能解决你的问题,请参考以下文章
无法在 localhost 上的 docker 容器之间进行通信