dokcer容器如何自动重启(特别针对jupyter)及对应容器的删除

在docker容器中,我们可能会选择jupyter来运行程序。
但是在网页中,jupyter可能经常会断开连接,这让人很头疼。
经常程序运行到一半就停下了,这不仅要我们继续操作,关键是浪费了很多时间。

这里,我们可以将容器设置为自动重启的模式。
也就是容器异常停止后,我们让他自动重启,这样就可以解决jupyter断开的问题。

在docker中,这需要在利用镜像创建容器时就指定一下这个容器–restart的性质(如果没有已经创建了,后面还有另一种方法)。举例来说:
docker run -it --restart=always <镜像名字>
这样容器就可以自动重启了,妈妈再也不用担心我们每次早上到实验室就检查jupyter的运行情况了。

但是,这也会导致另一个问题,假如我们不想用这个容器了,怎么删除这个容器呢?

首先我们可以更新一下这个容器的restart属性,命令如下:
sudo docker update --restart=no <容器名或者ID>,然后再利用常规方法就可以删除这个容器了

我们可以看到我们可以在创建容器后再利用更新这个容器的restart属性,这时,如果你已经创建了这个容器你也可以这样做:
sudo docker update --restart=always <容器名或者ID>这样就可以让该容器自动重启啦。

再推广一下,我们可以利用这个更新的命令来做很多其他的事情

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker中,通常容器会在应用或服务崩溃时自动重启。如果你希望无论容器内部运行的服务是否崩溃,容器都能在特定时间自动重启,可以通过一些额外的脚本或工具来实现这个功能。 一个简单的方法是使用`crontab`结合`docker`命令来定时重启容器。首先,你需要编写一个脚本,这个脚本会检查容器的状态,并在需要的时候重启容器。然后,你可以将这个脚本设置为定时任务执行。 以下是实现该功能的基本步骤: 1. 编写一个Shell脚本,脚本内容大致如下: ```bash #!/bin/bash # 检查容器是否在运行 container_name="你的容器名" # 如果容器不在运行,则启动容器 if ! docker inspect -f '{{.State.Running}}' "$container_name" > /dev/null 2>&1; then docker start "$container_name" fi ``` 2. 将这个脚本保存到一个文件中,比如`restart_container.sh`。 3. 设置Cron定时任务,以root用户的身份编辑crontab文件: ```bash sudo crontab -e ``` 4. 添加一行定时任务来定期执行你的脚本。例如,如果你想每天凌晨3点自动检查并重启容器,可以添加如下行: ```bash 0 3 * * * /path/to/restart_container.sh > /dev/null 2>&1 ``` 确保将`/path/to/restart_container.sh`替换为你的脚本实际的路径。 5. 保存并退出编辑器,Cron将自动加载新的定时任务。 需要注意的是,这种方法并不是Docker官方推荐的做法,因为Docker原生的容器重启策略已经很强大,通常用于处理大多数的自动重启需求。如果容器内部的服务应该在出错后自行重启,那么应该在容器内或容器镜像中进行设置,而不是依赖外部脚本来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值