运行容器后自动启动ssh服务

时间:2019-07-15 13:11:36

标签: docker ssh kubernetes openssh

  • 我正在研究用于创建Android docker映像的Dockerfile。
  • 创建映像并运行容器之后,我已经使用命令(服务ssh状态)检查了ssh服务,并注意到ssh服务未运行。
  • 我试图在Dockerfile上放置一些命令,例如:

    • CMD [“ / usr / sbin / sshd”,“-D”]
    • 博览会22
    • 运行服务ssh start

但是运行容器后,这些命令都无法运行ssh服务。

有人可以在这里帮忙吗?

1 个答案:

答案 0 :(得分:1)

我已使用this link中的步骤在Docker容器中成功运行SSH服务。

下面是对我有用的Dockerfile:

FROM ubuntu:16.04

RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:THEPASSWORDYOUCREATED' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config

RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

您还可以在Docker Hub上尝试以下可在容器内启用SSH服务器的Docker映像: