运行 容器后自动启动 ssh 服务
Automate starting ssh service after running the container
- 我正在研究用于创建 Android docker 图像的 Dockerfile。
- 创建映像并运行安装容器后,我使用命令(服务 ssh 状态)检查了 ssh 服务,发现 ssh 服务未 运行安装。
我尝试在 Dockerfile 上添加一些命令,例如:
- CMD ["/usr/sbin/sshd","-D"]
- 曝光 22
- 运行 服务 ssh 启动
但是 none 这些命令能够在 运行 连接容器后 运行 ssh 服务。
有人可以帮忙吗?
我使用 this link 中的步骤在 Docker 容器中成功地拥有 运行 SSH 服务。
下面是对我有用的Docker文件:
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 集线器上尝试以下 Docker 图像,在容器内启用 SSH 服务器:
- 我正在研究用于创建 Android docker 图像的 Dockerfile。
- 创建映像并运行安装容器后,我使用命令(服务 ssh 状态)检查了 ssh 服务,发现 ssh 服务未 运行安装。
我尝试在 Dockerfile 上添加一些命令,例如:
- CMD ["/usr/sbin/sshd","-D"]
- 曝光 22
- 运行 服务 ssh 启动
但是 none 这些命令能够在 运行 连接容器后 运行 ssh 服务。
有人可以帮忙吗?
我使用 this link 中的步骤在 Docker 容器中成功地拥有 运行 SSH 服务。
下面是对我有用的Docker文件:
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 集线器上尝试以下 Docker 图像,在容器内启用 SSH 服务器: