我必须重建图像并在大量的docker机器上停止/运行新容器。以自动方式执行此操作的最佳方法是什么?
现在我正在做
eval $(docker-machine env docker-host-1)
docker stop some-container
docker build -t my-image .
docker run -d my-image
对于每个主机,但这非常耗时。
答案 0 :(得分:3)
仅构建映像一次并将其推送到注册表。您可以使用public registry of Docker或使用private one。
docker push $DOCKERHUB_USER/my-image:latest
然后你只需使用docker hosts中的那个图像:
docker run -d $DOCKERHUB_USER/my-image:latest
您需要一个协调器来简化管理。请查看Docker Swarm,Kubernetes,Openshift或Rancher。简而言之,协调器将在docker主机上安排和运行容器。如果要升级,只需使用其他标记创建图像并在服务定义中更改它。协调器将为您推出升级。