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

Docker Compose保持容器运行

魏朗
2023-03-14

我想用docker-compose启动一个服务,并保持容器运行,这样我就可以通过'dockerinspect'获得它的IP地址。但是,容器总是在启动后立即退出。

我试图在docker-compose.yml中添加“command:[”sleep“,”60“]”和其他内容,但每当我添加带有“command:...”的行时。我不能调用“docker-compose up”,因为我将得到消息“无法启动容器.....系统错误:无效字符'k'寻找值的开头”

我还尝试在Dockerfile中添加“cmd sleep 60”之类的命令,但这些命令似乎没有被执行。

有没有一个简单的方法来保持容器活着或者修复我的一个问题?

编辑:这里是我要运行的合成文件:

version: '2'
services:
  my-test:
    image: ubuntu
    command: bash -c "while true; do echo hello; sleep 2; done"

如果我在OS X下用docker-compose开始这一操作,它会很好地工作,但是如果我在Ubuntu16.04下尝试同样的操作,它会给我上面的错误消息。

如果我尝试使用Dockerfile的方法,则Dockerfile如下所示:

FROM ubuntu:latest
CMD ["sleep", "60"]

共有1个答案

暴绪
2023-03-14

若要在使用docker-compose启动容器时保持容器运行,请使用以下命令

命令:tail-f anything

因此您的docker-compose.yml变成

version: '2'
services:
  my-test:
    image: ubuntu
    command: tail -F anything

并且可以运行shell以使用以下命令进入容器

其中composeNamedocker-compose容器前附加的名称。

 类似资料:
  • 问题内容: 我想使用docker-compose启动服务并保持容器运行,以便我可以通过“ docker inspect”获取其IP地址。但是,容器始终在启动后立即退出。 我试图在docker-compose.yml中添加“ command:[“ sleep”,“ 60”]“和其他内容,但是每当我添加带有” command:…“的行时,我都无法调用” docker-compose up“因为我将收到

  • 我现在尝试在Kubernetes集群上运行一个带有shell(/bin/bash)的简单容器。 我认为有一种方法可以通过使用和detach选项(命令上的选项)来保持容器在Docker容器上运行。 但是容器会退出几秒钟(就像使用命令启动一样,没有上面提到的选项)。并且ReplicationController重复地再次启动它。 是否有一种方法可以像命令中的选项一样,使容器在Kubernetes上运行

  • 问题内容: 我现在正在尝试在Kubernetes集群上运行带有shell(/ bin / bash)的简单容器。 我以为有一种方法可以通过使用and detach选项(命令上的选项)来保持容器在Docker容器上运行。 例如, Kubernetes中有这样的选择吗? 我试过使用类似以下的命令来运行容器: 但是容器会退出几秒钟(就像使用不带我上面提到的选项的命令启动一样)。然后Replication

  • 问题内容: 我看过很多教程似乎都在做我想做的事情,但是由于某种原因,我的Docker容器退出了。基本上,我正在Docker容器内设置一个Web服务器和一些守护程序。我通过bash脚本(在Dockerfile中通过CMD运行)完成了最后部分。看起来像这样: 然后在Dockerfile中启动它,如下所示: 我可以看到,当我手动运行事物时(即使用-i -t / bin / bash进入映像),所有服务都

  • 我见过一堆教程,它们似乎做了与我想做的相同的事情,但由于某种原因,我的Docker容器退出了。基本上,我在Docker容器中设置了一个Web服务器和几个守护进程。我通过一个名为的bash脚本来完成这一过程的最后部分,该脚本通过DockerFile中的CMD运行。如下所示: 我在Dockerfile中启动它,如下所示: 我可以看到,当我手动运行事情时(即使用-i-t/bin/bash进入映像),所有

  • 问题内容: 我正在使用redis在nodejs应用程序中提供会话支持。我已经安装了redis服务器,当我运行redis- server时,它可以工作,但是当我关闭终端redis时,它停止工作,并且不起作用。关闭终端后如何保持Redis服务器运行? 问题答案: 将Redis作为守护程序启动的最简单方法是编辑配置文件并更改以下行: 启动配置文件时,请确保在redis-server命令行上提供该配置文件