docker - 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 的情况下完成这一切,它工作得很好。
解决方案
这是因为 Busybox 中包含 netcat 版本。
推荐阅读
- migration - 尝试将问题从 JIRA 导入到 Redmine
- python - 拆分功能的python替代解决方案
- php - 组装菜单(节点树),其中只有父节点是已知的
- shell - 如何在 UNIX shell 脚本中引用通用脚本中的变量和文件中的变量名
- python - 在python中将一个列表分成两个单独的列表
- excel - 在 Excel 的单元格 C1 中,如何从单元格 B1 的逗号分隔值列表中选择未在 A 列中以逗号分隔的单元格/值?
- python - 如何使用 NLP 从 PDF 文件中提取关键字及其页码?
- c - 如何使用缓冲区溢出攻击找到要利用的程序的漏洞
- grails - 更新行时变音符号出错
- c++ - 对话框在打开后立即关闭