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 容器之间进行通信

两个 docker 容器之间的通信问题

docker同宿主机容器和不同宿主机容器之间怎么通信?

在 AWS Beanstalk 中的 docker 网络中的 docker 容器之间进行通信

Docker容器之间的通信

Docker容器之间的通信