运行容器后自动启动ssh服务 我正在制作一个Dockerfile,用于创建Android docker图像 创建映像并运行容器后,我使用命令(serviceshsh状态)检查了ssh服务,发现ssh服务没有运行

运行容器后自动启动ssh服务 我正在制作一个Dockerfile,用于创建Android docker图像 创建映像并运行容器后,我使用命令(serviceshsh状态)检查了ssh服务,发现ssh服务没有运行,docker,ssh,kubernetes,openssh,Docker,Ssh,Kubernetes,Openssh,我尝试在Dockerfile上放置一些命令,如: CMD[“/usr/sbin/sshd”,“-D”] 暴露22 运行服务ssh启动 但在运行容器之后,这些命令都无法运行ssh服务 这里有人可以帮忙吗?我已经使用中的步骤成功地在Docker容器中运行了SSH服务 下面是为我工作的Dockerfile: FROM ubuntu:16.04 RUN apt-get update && apt-get install -y openssh-server RUN mkdir /v

我尝试在Dockerfile上放置一些命令,如:

  • CMD[“/usr/sbin/sshd”,“-D”]
  • 暴露22
  • 运行服务ssh启动
但在运行容器之后,这些命令都无法运行ssh服务


这里有人可以帮忙吗?

我已经使用中的步骤成功地在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上尝试以下Docker映像,以在容器中启用SSH服务器:


为什么需要在android docker容器内运行ssh服务?请分享一个我们可以复制的最小示例。我使用android容器作为jenkins从节点,为了能够通过ssh连接主节点和从节点,ssh服务应该运行,否则它会拒绝连接。Dockerfile用于在构建时运行命令,中间容器内。您必须使用cmd或entrypoint在运行时运行该服务。我确实使用了cmd,上一次尝试使用的是以下命令:cmd[“/usr/sbin/sshd”、“-p”、“22”]但是,ssh服务在运行时仍然关闭,只能手动启动。