当前位置: 首页 > 知识库问答 >
问题:

openssh-server未在Docker容器中启动

帅令雪
2023-03-14
$ ssh 172.17.0.61
ssh: connect to host 172.17.0.61 port 22: Connection refused
RUN apt-get -y install curl runit openssh-server
RUN service ssh start

我该怎么办?

共有1个答案

孙项禹
2023-03-14

在构建Dockerfile时,您将创建一个映像。但是您不能使用已经运行的ssh守护进程或任何其他正在运行的服务创建映像。首先,如果从映像中创建一个正在运行的容器,则可以在其中启动服务。例如。通过将start指令附加到docker run命令:

sudo docker run -d mysshserver service ssh start

您可以使用cmd为docker映像定义默认命令。下面是一个DockerFile示例:

FROM ubuntu:14.04.1
MAINTAINER Thomas Steinbach
EXPOSE 22
RUN apt-get install -y openssh-server
CMD service ssh start && while true; do sleep 3000; done

您可以使用以下两个命令构建运行此映像:

sudo docker build -t sshtest .
sudo docker run -d -P --name ssht sshtest
 类似资料:
  • 问题内容: 我使用以下命令创建了容器: 以下是命令: 真的没有太多要说的,我希望容器能启动并保持正常运行。这是日志: 问题答案: 您正在尝试运行,它是需要tty 才能运行的交互式外壳。使用,在“分离”模式下运行此命令实际上没有任何意义,但是您可以通过添加到命令行来做到这一点,以确保容器具有与其关联的有效tty并保持连接状态: 在启动分离的容器时,您通常会运行某种长期存在的非交互式进程(例如,或We

  • 问题内容: 首次运行高山docker容器并尝试进行openssh安装时,会发生以下情况: 应该如何安装openssh? 问题答案: 跑第一。以下粘贴包含一个完整的示例:

  • 问题内容: 我想在Centos7的Docker容器中运行Jenkins。我看到了Jenkins的官方文档:首先,从Docker存储库中提取官方的jenkins映像。 接下来,使用该映像运行一个容器,并将数据目录从该容器映射到主机;例如,在下面的示例中,容器中的/ var / jenkins_home从主机上的当前路径映射到jenkins /目录。Jenkins 8080端口也以49001的身份向主

  • 我基于Ubuntu 16构建了Docker,希望PuTTY能够访问Ubuntu。我已将该行添加到docker文件中: 但是当我建立它给我的形象时 5/18步:运行apt get install openssh server-y supervisor--- 如何修复它?我的任务是:允许通过PuTTY从主机(Windows)连接到docker容器。

  • 问题内容: 要为Ubuntu映像启动交互式shell,我们可以运行: 但是,对于Alpine Docker映像运行此命令时,将得到以下结果: 在Alpine基本容器中启动交互式Shell的命令是什么? 问题答案: 上面使用的选项: 是BusyBox提供的Ash(Almquist Shell)。 退出时自动移除容器() 交互模式(即使未连接也保持STDIN打开) 分配伪TTY

  • 我一直试图在我的docker容器中运行cron作业,但当容器启动时,我似乎无法让cron服务运行。我可以远程进入运行容器并运行“cron”以使服务在没有问题的情况下启动。我在我的DockerFile中包含了这个,为什么命令没有被执行呢? Docker-compose.yml