在Windows中已经启动的容器(比如xinference),如何设置让其在每次Docker启动时能自动启动

在 Windows 中,要设置已启动的容器(如 xinference)在每次 Docker 启动时自动启动,可以使用docker update命令来更新容器的重启策略。具体步骤如下:

  1. 打开命令提示符(CMD)或 PowerShell。
  2. 输入以下命令来更新容器的重启策略:
docker container update --restart=always xinference

其中,--restart=always表示无论容器何时退出,Docker 都会尝试重启它。如果希望容器在非零退出码时才重启,可以使用--restart=on-failure选项,还可以指定重启次数,例如--restart=on-failure:5表示最多重启 5 次。

另外,你也可以通过 Docker Compose 来设置容器的自动启动。如果你的容器是通过 Docker Compose 管理的,可在docker-compose.yml文件中为相应的服务添加restart: always配置,例如:

services:
  xinference:
    image:your_image
    restart: always

然后运行docker-compose up -d命令来启动容器服务,这样设置后,容器将会在系统启动时自动启动。、

补充非零退出知识:

在计算机程序(包括容器内的应用程序)中,退出码(exit code) 是程序执行结束时返回给操作系统的一个数字,用于表示程序的终止状态。

  • 退出码为 0:通常表示程序正常、成功地执行并退出,没有发生错误。
  • 非零退出码(1-255 之间的整数):表示程序异常终止,可能是由于错误导致的退出。

非零退出码的具体数值通常有特定含义,不同程序可能定义不同(但有些是通用的),例如:

  • 1:通用错误(如程序崩溃、未处理的异常)
  • 2:参数错误(如传入了无效的命令行参数)
  • 127:命令未找到(如容器内依赖的程序不存在)
  • 137:程序被强制杀死(如内存溢出被系统终止)

在 Docker 的重启策略中,--restart=on-failure的含义是:只有当容器的退出码为非零时(即程序异常退出),Docker 才会尝试重启容器。如果容器是正常退出(退出码为 0),则不会重启。

例如:

  • 若你的xinference容器因配置错误启动失败(退出码非 0),Docker 会按策略重启它。
  • xinference容器完成任务后正常退出(退出码 0),Docker 则不会重启。

这种策略适合希望容器在 “意外崩溃” 时自动恢复,但 “正常结束” 时不重复启动的场景。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值