问题描述
Docker在启动Container时如果用了--net=host参数,要如何连到Container内部?在默认使用bridge网络模式时可以在Dockerfile中添加CMD/usr/sbin/sshd&&start-app.sh
,这样就可以在Container启动时把sshd启动,就可以远程到container了。但是在host网络模式下,好像是行不通啊,看到有人说用exec,我试了下root@debian:/home/docker/videotracker-docker-debian7_32bit/kafka#dockerexec5684aa299c11/usr/sbin/sshd-p3333root@debian:/home/docker/videotracker-docker-debian7_32bit/kafka#ps-ef|grepsshdroot46310May07?00:00:00/usr/sbin/sshdroot6374630May07?00:00:03sshd:root@pts/2root18494630May07?00:00:03sshd:root@pts/5root227334630May08?00:00:00sshd:root@pts/7root227701009:56?00:00:00/usr/sbin/sshd-p3333root2277215033009:56pts/800:00:00grepsshdroot2701910May07?00:00:03sshd:root@pts/0root270335970May08?00:00:00/bin/sh-c/usr/sbin/sshd&&start-zk.shroot291015970May08?00:00:00/bin/sh-c/usr/sbin/sshd&&/usr/bin/start-kafka.sh
感觉好奇怪的,sshd没有在container运行,而是在hostos上运行了。有什么好的方法吗?
解决方案
解决方案二:
dockerexec-ityourContainerIdbash可以么
解决方案三:
应该是已经在container上运行了,但是在hostos上能看到进程.