![无法通过 dockerfile 在 docker 上运行 ssh](https://linux22.com/image/1626753/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20dockerfile%20%E5%9C%A8%20docker%20%E4%B8%8A%E8%BF%90%E8%A1%8C%20ssh.png)
这是我的 Dockerfile:
FROM php:7.4
RUN apt-get install -y openssh-server \
&& useradd --create-home --base-dir /home myuser \
&& echo "myuser:myuser" | chpasswd \
&& service ssh start
当我尝试通过执行docker run -v "
pwd来运行此容器时:/opt/src" -w "/opt/src" "namespace/name" php test.php
,端口 22 未打开。如果我尝试通过执行 来运行它,也会发生同样的事情docker exec -it ... bash
。
有什么想法我需要做什么才能使 SSH 运行?
谢谢!
答案1
RUN 指令的内容在创建映像时执行,而不是在运行容器时执行(它们通常用于安装/设置)。如果您想在创建容器时运行某些内容,请将其放入使用 ENTRYPOINT 指令指定的脚本中。