docker容器运行后退出,怎么才能一直运行?

现象

启动docker容器
docker run –name [CONTAINER_NAME] [CONTAINER_ID]
查看容器运行状态
docker ps -a
发现刚刚启动的mydocker容器已经退出

原因

docker容器的主线程(dockfile中CMD执行的命令)结束,容器会退出

办法

可以使用交互式启动

docker run -i [CONTAINER_NAME or CONTAINER_ID]

上面的不太友好,建议使用后台模式和tty选项

docker run -dit [CONTAINER_NAME or CONTAINER_ID]

查看容器状态

docker ps -a

docker调出后台容器

docker attach [CONTAINER_NAME or CONTAINER_ID]

TIPs:退出时,使用[ctrl + D],这样会结束docker当前线程,容器结束,可以使用[ctrl + P][ctrl + Q]退出而不终止容器运行

如下命令,会在指定容器中执行指定命令,[ctrl+D]退出后不会终止容器运行

docker exec -it [CONTAINER_NAME or CONTAINER_ID] /bin/bash
  • 37
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
如果Docker容器运行后立即退出,有几种可能的原因和解决方法。 一种常见的原因是容器启动后没有应用在后台运行进程,并且没有任何终端连接到容器中。在这种情况下,容器任务完成后会立即退出。为了使容器继续运行,可以使用一个无限循环或者一个守护进程在容器中。可以通过在Dockerfile或者docker run命令中添加合适的命令来实现。比如,可以在Dockerfile中使用CMD或者ENTRYPOINT指令来指定一个脚本,脚本的最后包含一个无限循环来阻止容器退出。 另一种可能的原因是容器启动后遇到错误而退出。这可能是由于配置问题、依赖项缺失等原因导致的。要解决这个问题,可以通过查看容器的日志输出来分析错误原因。可以使用docker logs命令来查看容器的日志输出,并查找有关错误的提示。一旦找到错误原因,可以尝试通过更新配置文件、安装依赖项等方式来解决问题。 最后,容器可能会因为资源限制或者配置不当而被操作系统或者Docker守护程序终止。这可能是由于内存不足、CPU使用过高、磁盘空间不足等原因导致的。要解决这个问题,可以尝试增加容器的资源限制,比如分配更多的内存、增加CPU配额等。另外,还可以检查Docker守护程序的配置,确保它的资源限制设置正确。 综上所述,要使Docker容器持续运行,我们需要确保容器中有一个持续运行的进程,以及适当的配置和资源限制。通过分析容器的日志输出,检查配置文件和资源限制,可以找到并解决导致容器退出的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值