docker内部容器一直重启无法进入的解决方案

在重新配置docker环境时遇到的一个小问题,就是docker内部环境如果配置出错,那么在启动容器的同时是无法进入内部及时修改的:

####:/$ sudo docker exec -it ai bash
Error response from daemon: Container 2e1d778977b6dc58a83ef35401e774a16753954cd171e6247601a07c2518cc5f is restarting, wait until the container is running

这个时候想进入容器解决存在的问题的话可以这样做:

对自己CMD中配置的main文件或者执行函数文件(就是你的容器启动以后要跑的代码文件)进行简单修改,比如可以直接注释掉已有代码,然后写入如下代码:

import time
   #debug use

def print_message():
    print("这是一条定时消息")

def main():
    start_time = time.time()  # 记录程序开始时间
    duration = 30 * 60  # 30 分钟,单位是秒

    while True:
        current_time = time.time()
        elapsed_time = current_time - start_time

        if elapsed_time >= duration:  # 检查是否已经运行了 30 分钟
            print("程序运行时间到达 30 分钟")
            break

        print_message()
        time.sleep(3)  # 每隔 3 秒打印一次消息

if __name__ == "__main__":
    main()

可以先检查日志看看是否运行了上述代码:

sudo docker logs ai -f --tail 200
>>swjtu@swjtu:/$ sudo docker logs ai -f --tail 200
这是一条定时消息
这是一条定时消息
这是一条定时消息
这是一条定时消息
这是一条定时消息
这是一条定时消息
这是一条定时消息
这是一条定时消息
这是一条定时消息
这是一条定时消息
这是一条定时消息

就相当于让程序变成一个计时器,可以自己设置运行时间,我设置了30分钟,这样可以直接启动docker容器然后进入内部解决问题。

sudo docker exec -it <ID> bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值