我希望能够在Docker中通信两个容器,我使用netcat进行测试。首先我创建了Dockerfile:
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)与IT技术相关内容进行沟通:
nc -v pc1 8080
但是我收到了“连接被拒绝”的错误提示:
root@c592b2015439:~# nc -v pc1 8080
pc1.nettest [172.18.0.2] 8080 (?) : Connection refused
我一直在查看Docker文档,但似乎所有内容都是正确的。实际上,我可以成功地在容器之间执行ping命令,因此它们可以相互到达,但我的端口设置可能有误。 我做错了什么?
谢谢。
docker network
问题,将两个Docker容器链接在一起。你是参考了某篇博客来得到这个例子的,还是自己想出来的呢? - ximiki