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

本文详细解析了Docker容器启动后异常退出的原因,主要在于容器内的主线程(Dockerfile中CMD执行的命令)结束导致容器退出。文章提供了交互式启动、后台模式和tty选项等解决方案,并介绍了如何正确使用docker exec命令执行容器内命令,避免容器意外终止。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象

启动docker容器
    
docker run –name [CONTAINER_NAME] [CONTAINER_ID]

查看容器运行状态
    
docker ps -a

发现刚刚启动的mydocker容器已经退出

原因

很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程.

容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/article/154031.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值