【发布时间】:2017-06-22 14:13:30
【问题描述】:
我想在 docker 中通信两个容器,我正在使用 netcat 进行测试。首先我创建了Dockefile:
FROM ubuntu
WORKDIR /root
RUN apt-get update && apt-get install netcat iputils-ping -y
并添加图片:
docker build . -t ubuntu_netcat
我还创建了一个新网络:
docker network create --driver bridge nettest
然后我运行两个容器:
docker run --net=nettest --expose=8080 -it --name pc1 ubuntu_netcat
docker run --net=nettest --link=pc1 -it --name pc2 ubuntu_netcat
在第一个容器 (pc1) 上,我使用 netcat 命令侦听端口 8080:
nc -vlk 8080
并且我希望通过执行的第二个容器 (pc2) 与它进行通信:
nc -v pc1 8080
但我刚刚收到连接被拒绝:
root@c592b2015439:~# nc -v pc1 8080
pc1.nettest [172.18.0.2] 8080 (?) : Connection refused
我一直在查看 docker 文档,但一切似乎都是正确的。事实上,我可以成功地在容器之间执行 ping,这样它们就可以相互连接,但是我的端口有问题。 ¿ 我做错了什么?
谢谢
【问题讨论】:
-
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地点。
-
这帮助我解决了一个
docker network问题以链接两个 Docker 容器。您是按照一些博客提出这个例子的,还是在这里提出自己的?
标签: networking docker port ping netcat