无法在boot2docker vm中重新启动sshd

时间:2018-03-09 15:57:40

标签: docker virtual-machine virtualbox boot2docker sshd

我在vm上安装了boot2docker(主机:windows 7) 我的目标是通过putty ssh进入boot2docker vm。

我根据需要配置了/ usr / local / etc / ssh / sshd_config文件,现在我想重新加载/重启sshd服务。 我搜索了sshd文件,因为“sudo service sshd restart”不起作用。我发现了以下内容: /var/lib/sshd /etc/rc.d/sshd/usr/local/sbin/sshd 第一个说“Pemission denied”,第二个没有打印任何东西,第三个说“找不到”

有没有人知道如何在不重启的情况下重新加载/重启sshd服务?

2 个答案:

答案 0 :(得分:0)

你不能在docker容器内使用服务(没有systemctl,service)。一切都必须在前台运行。您可以使用supervisor在一个容器中运行多个应用。我还建议您阅读有关sshd inside docker

的回复

如果你想运行sshd,你必须使用-D

以非守护进程模式运行它
/usr/sbin/sshd -D

sshd的路径可能在您的容器中有所不同。

答案 1 :(得分:0)

如果您正在使用boot2docker,请尝试sudo pkill -HUP sshd

Boot2Docker version 18.03.0-ce-rc4, build HEAD : c6a9f09
Docker version 18.03.0-ce-rc4, build fbedb97
docker@dockernode1:~$ sudo pkill -HUP sshd
docker@dockernode1:~$ Connection to 192.168.137.211 closed by remote host.
exit status 255

$ ./docker-machine ssh dockernode1
Boot2Docker version 18.03.0-ce-rc4, build HEAD : c6a9f09
Docker version 18.03.0-ce-rc4, build fbedb97

确保您的/usr/local/etc/ssh/sshd_config状态良好,这会将您引导出服务器。

通过HyperV Connect纠正错误的配置是痛苦的,不接受复制粘贴命令和类型剪贴板文本输出被破坏。必须输入每个角色。