【发布时间】:2017-05-23 12:50:52
【问题描述】:
我正在尝试构建一个 hadoop Dockerfile。
在构建过程中,我添加了:
&& apt install -y openssh-client \
&& apt install -y openssh-server \
&& ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa \
&& cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys \
&& chmod 0600 ~/.ssh/authorized_keys
&& sed -i '/\#AuthorizedKeysFile/ d' /etc/ssh/sshd_config \
&& echo "AuthorizedKeysFile ~/.ssh/authorized_keys" >> /etc/ssh/sshd_config \
&& /etc/init.d/ssh restart
我假设当我运行这个容器时:
docker run -it --rm hadoop/tag bash
我可以:
ssh localhost
但我得到了一个错误:
ssh:连接到主机 localhost 端口 22:连接被拒绝
如果我在容器内手动运行:
/etc/init.d/ssh restart
# or this
service ssh restart
然后我就可以连接了。我认为这意味着 sshd 重启不起作用。
我在Dockerfile 中使用FROM java。
【问题讨论】:
标签: docker ssh dockerfile sshd