首页 > 解决方案 > docker 容器端口在第一次连接后关闭

问题描述

如果我像这样启动一个 docker 容器

docker container run -it -p 9001:9001 alpine nc -p 9001 -l -k

然后,我可以使用主机上的终端向这个小型 dockerized netcat 服务器发送一些纯文本

nc localhost 9001

但是,一旦我^C在我的主机终端中使用 netcat,我就无法与 docker 容器建立新的连接。重做命令告诉我连接成功,但 netcat 立即关闭

$ nc localhost 9001 -v
Connection to localhost 9001 port [tcp/*] succeeded!

由于我在交互模式下运行我的容器,我可以看到容器内的 netcat 仍在运行。

那为什么我不能重新连接?或者至少,我能做些什么来解决这个问题?

如果我在没有 docker 的情况下完成这一切,它工作得很好。

标签: dockerportnetcat

解决方案


这是因为 Busybox 中包含 netcat 版本。


推荐阅读