docker - 如何重新启动图像更改的容器?
问题描述
我docker-compose
用来启动一组不相关的 docker 容器。我使用docker-compose
它是因为通过docker-compose.yaml
该文件带来的易于配置和集中配置。
我遇到的一个问题是图像的更新,或者实际上是图像更新后的容器。我通过更新它们,docker-compose pull
但之前生成的容器不会自行重新启动。我有两种可能的解决方案,都可行但都不理想:
- 之后重新启动所有容器
pull
。这会引入不可用性,这在我的家庭环境中不是一个关键的事情,但仍然(特别是家庭助理重新启动是一个痛苦,因为灯被重置) - 编写一些代码来检查在拉取过程中哪些图像 ID 发生了变化并重新启动相关容器(首先删除它们)。如果没有更好的方法,这就是我将使用的解决方案。
我想知道是否有更好的解决方案。
这是一个家庭环境,所以我想避免使用 Kubernetes 等重型解决方案。
Swarm 模式可以工作,但我刚刚读到它,它看起来更像是一种确保状态的解决方案,而不是容器管理器(从某种意义上说,它会根据生成容器的图像的新鲜度重新启动容器)。
解决方案
之后docker pull image
,docker-compose -f "docker-compose.yml" up -d
只会重启有新版本镜像的容器docker pull
。它不会影响图像保持不变的容器。这个设置对我来说很好。
推荐阅读
- git - 如何在 Git 中查看分支类型中更改的所有文件
- string - 将随机转换为字符串的行为
- azure - 在 PDF blob 中搜索关键字 - Azure 搜索
- puppet - 如何将 Foreman 主机组与 Puppet 一起使用?
- python-3.x - 如何使用 python flask-ask 在 alexa 中获取用户输入的文本
- python - 在 Python 脚本中运行时,SQL 查询返回空白输出
- javascript - ReactMeteorData 类扩展值未定义不是构造函数
- css - SVG CSS 变换缩放动画在 Safari 或 Firefox 上不起作用
- asp.net-core - IdentityServer4 w/AspNetIdentity 和注册 API 方法
- jakarta-ee - Glassfish 服务器未在 Netbeans 6.0.1 中显示