Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker容器端口在第一次连接后关闭_Docker_Port_Netcat - Fatal编程技术网

docker容器端口在第一次连接后关闭

docker容器端口在第一次连接后关闭,docker,port,netcat,Docker,Port,Netcat,如果我启动这样一个docker容器 docker container run -it -p 9001:9001 alpine nc -p 9001 -l -k 然后,我可以从主机上的终端使用 nc localhost 9001 但是,一旦我^C主机终端中的netcat,我就无法与docker容器建立新连接。重新执行该命令告诉我连接成功,但netcat立即关闭 $ nc localhost 9001 -v Connection to localhost 9001 port [tcp/*] su

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

docker container run -it -p 9001:9001 alpine nc -p 9001 -l -k
然后,我可以从主机上的终端使用

nc localhost 9001
但是,一旦我
^C
主机终端中的netcat,我就无法与docker容器建立新连接。重新执行该命令告诉我连接成功,但netcat立即关闭

$ nc localhost 9001 -v
Connection to localhost 9001 port [tcp/*] succeeded!
由于我正在以交互模式运行容器,因此可以看到容器中的netcat仍在运行

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


如果我不用docker就可以完成所有工作。

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

我认为这是因为Busybox中包含netcat版本。@EstebanGarcia,你说得对!把它作为一个问题的答案。容器中的版本不存在
-k
选项。该选项允许重新连接