Che*_*eng 3 docker docker-compose
最近,我们刚刚完成了使用 Docker 的 Web 应用程序解决方案。
https://github.com/yccheok/celery-hello-world/tree/nginx(实际解决方案托管在私有存储库中。这个例子只是快速浏览一下我们的项目结构的样子)
我们计划在其上部署时购买 1 台空 Linux 机器。未来我们可能会购买更多机器,但以目前的流量,1 台机器就足够了。
我在单台空机上部署的计划是
git pull <from private code repository>
docker-compose build
docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
由于我们将在不久的将来部署到多台机器上,我想知道,这是将 docker 应用程序部署到新的空机器上的常见做法吗?
有什么我们可以从https://hub.docker.com/使用而无需我们git pull在部署阶段执行的吗?
您不想git pull在每台机器上执行- 您的直觉是正确的。
相反,您想使用远程 docker 注册表(例如作为 docker hub)。
所以正确的流程,每次你的源代码(git repo)被改变时:
git pull 来自所有相关的回购。docker-compose build 构建所有相关图像。docker-compose push 将所有图像(差异)推送到远程注册表。docker-compose pull 在您的生产机器中,获取最新的更新图像。docker-compose up 启动所有容器。前 3 个步骤应该在您的 CI 机器中完成(例如,作为 jenkins 工作)。生产机器中的步骤 4-5。
编辑:要考虑的一件事。我认为通过 docker-compose 构建很糟糕。考虑直接通过docker build -f Dockerfile -t repo/image:tag .并在docker-compose指定图像名称中构建。
| 归档时间: |
|
| 查看次数: |
6737 次 |
| 最近记录: |