我使用MyFunction = function(){
x = rnorm(10)
x <<- x^2
print("and dinosaurs are scary")
y = TRUE
return(invisible())
}
启动一组不相关的Docker容器。之所以使用docker-compose
,是因为通过docker-compose
进行配置很容易,并且该文件带来了集中式配置。
我遇到的一个问题是图像的更新,或者实际上是图像更新后的容器的更新。我通过docker-compose.yaml
更新了它们,但是先前生成的容器不会自行重启。我有两种可能的解决方案,都可行,但都不理想:
docker-compose pull
之后重新启动所有容器。这将导致不可用,这在我的家庭环境中不是至关重要的事情,但仍然如此(尤其是在重置灯光后,重新启动Home Assistant会很痛苦)我想知道是否有更好的姿态。
这是一个家庭环境,因此我想避免使用诸如Kubernetes之类的重型解决方案。
群模式可以工作,但是我只是读过它,它看起来更像是一种确保状态的解决方案,而不是容器管理器(从某种意义上说,它将根据产生它们的图像的新鲜度重新启动容器)。
答案 0 :(得分:3)
docker pull image
之后,docker-compose -f "docker-compose.yml" up -d
将仅重新启动在docker pull
之后有新版本映像的容器。它不会影响图像保持不变的容器。此设置对我来说很好。
答案 1 :(得分:1)
docker-compose up --force-recreate -d
如果有用于服务的现有容器,并且该服务的 容器创建后更改了配置或图像, docker-compose up通过停止并重新创建 容器(保留已安装的卷)。防止撰写 拾取更改,请使用-no-recreate 标志。
如果要强制Compose停止并重新创建所有容器,请使用 -force-recreate 标志。
注意:即使容器的配置和图像未更改,也要重新创建它们。