git - 使用 git 的 Docker 部署工作流

标签 git deployment docker

将 docker 容器部署到生产环境的最佳方式是什么?

  • Dockerfile 添加到 git 存储库并在生产系统上运行 docker build
  • 使用 docker commit 将更改提交到容器并将其推送到私有(private) Docker 存储库,然后使用 docker pull 将其 pull 到生产系统。

我是否应该运行 docker commit,即使我不更改基础架构而只更改应用程序代码?

我希望我的问题很清楚。

最佳答案

我想说的是,在生产环境中,您只想 pull 并运行容器的最后一个镜像。

所以拥有私有(private)注册表的想法很好,您的交付管道将是:

  1. 提交对您的应用或 Dockerfile 的更改
  2. CI 进行更改,编译您的应用程序,构建您的新图像,并将其推送到注册表
  3. 在生产中 pull 新图像
  4. 运行它!

在我这边,我不使用 docker commit,我更喜欢带有 docker build ... -t ... 的标签。我只在使用交互式 shell 调试容器时使用 commit

关于git - 使用 git 的 Docker 部署工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24856088/

相关文章:

git - 通过 Ansible 应用 git 补丁的最佳方法

c# - Visual Studio 2017项目需要部署后才能启动

docker - 是否可以在多阶段 dockerfile 中跳过 FROM 命令?

laravel - Ansible,从Docker容器运行命令时mysql连接被拒绝

mysql - 当我尝试使用 docker-compose 为 Nodejs 和 mysql 应用程序运行 docker 容器时,出现端口使用错误

git - 获取简短的 Git 版本哈希

svn - 如何将变更集从 hg 存储库导出到 svn 存储库

git - 如果检测到本地修改(包括未跟踪的文件),如何防止 git push?

node.js - 如何让 React.js 应用程序在 Azure 应用服务上运行?

c# - 抑制/禁用/解决 Visual Studio 构建警告