docker - 首次连接后docker容器端口关闭

标签 docker port netcat

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

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

然后,我可以使用以下命令从主机上的终端向此小型dockerized netcat服务器发送一些纯文本:
nc localhost 9001

但是,一旦我在主机终端中对netcat进行^C编码,便无法与Docker容器建立新连接。重做命令告诉我连接成功,但是netcat立即关闭
$ nc localhost 9001 -v
Connection to localhost 9001 port [tcp/*] succeeded!

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

那为什么我不能重新连接?或者至少,我该怎么做才能解决该问题?

如果我在没有docker的情况下完成所有操作,则效果很好。

最佳答案

这是由于Busybox中包含的netcat版本导致的。

关于docker - 首次连接后docker容器端口关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55741421/

相关文章:

amazon-web-services - Docker Cloud的栈文件怎么写?

docker - 在构建时合并 Dockerfile

powershell - 如何使用 powershell 检查打开的端口?

c# - C# 应用程序的最大开放端口数

php - 套接字、PHP、本地端口

c - (C/Linux) 通过 netcat 使用 bin/sh shell 时出现问题 - printfs 直到程序结束才出现在屏幕上

php - 未捕获的 PDOException : could not find driver inside docker container

windows-8 - Docker Windows 8问题-重新启动后无法加载容器

pipeline - 为什么管道内容到命令 nc 不起作用?

linux - Netcat 仅在我 CTRL-C 连接后发送应答