Docker容器未启动(Docker启动)

basickarl:

我使用以下命令创建了容器:

docker run -d -p 52022:22 basickarl/docker-git-test

以下是命令:

root@basickarl:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
root@basickarl:~# docker ps -a
CONTAINER ID        IMAGE                              COMMAND             CREATED             STATUS                           PORTS               NAMES
e4ac54468455        basickarl/docker-git-test:latest   "/bin/bash"         7 minutes ago       Exited (0) 26 seconds ago                            adoring_lumiere     
22d7c5d83871        basickarl/docker-git-test:latest   "/bin/bash"         2 hours ago         Exited (127) About an hour ago                       thirsty_wright      
root@basickarl:~# docker attach --sig-proxy=false e4
FATA[0000] You cannot attach to a stopped container, start it first 
root@basickarl:~# docker start e4
e4
root@basickarl:~# docker attach --sig-proxy=false e4
FATA[0000] You cannot attach to a stopped container, start it first 
root@basickarl:~# 

没什么好说的,我希望容器能启动并保持正常运行。这是日志:

root@basickarl:~# docker logs e4
root@basickarl:~# 
幼虫:

您正在尝试运行bash,它是需要tty 才能运行的交互式外壳。使用,在“分离”模式下运行此命令实际上没有任何意义-d,但是您可以通过添加-it到命令行来做到这一点,以确保容器具有与其关联的有效tty并stdin保持连接状态:

docker run -it -d -p 52022:22 basickarl/docker-git-test

在启动分离的容器时sshd您通常会运行某种长期的非交互式进程(例如,或Web服务器,数据库服务器或进程管理器systemdsupervisor)。

如果您试图运行类似的服务sshd,则不能简单地运行service ssh start这将-根据您在容器内运行的发行版-执行以下两项操作之一:

  • 它将尝试与类似的流程经理联系systemdupstart启动服务。因为没有运行服务管理器,所以这将失败。

  • 它实际上将启动sshd,但是将在后台启动。这意味着(a)service sshd start命令退出,这意味着(b)Docker认为您的容器发生了故障,因此它清理了所有内容。

如果你想运行只是在一个容器SSH,考虑类似的例子这样

如果要在容器中运行sshd 其他进程,则需要调查某种进程管理器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章