如何使用Git将代码从localhost部署到docker容器?

时间:2015-01-20 20:13:58

标签: git docker

我是docker的新手(2天),并且真的想了解如何将它集成到我的开发工作流程中。

考虑这种情况(是的,我拍了这张照片)
enter image description here

我一直致力于我的本地git repo,并希望在一个(或多个)docker容器中测试我的代码。

问题

a。)建议将代码本地部署到这些容器的最佳方法是什么。

我问的原因是因为如果我必须在本地git commit-push并拉入相应的容器,我会先看到2个问题

1。)开发中的回合时间成本很高 2.)如果我没有登记我的代码,我只是测试/再现一个bug等等。

请原谅我的无知,请用你的想法启发我 感谢

3 个答案:

答案 0 :(得分:1)

对于(2),这就是Git分支的用途。如果(1)真的是一个交易破坏者,并且如果Docker在您正在进行开发的同一台机器上运行(目前尚不清楚是否是这种情况),您可以将包含代码的本地目录安装到新的Docker容器:

docker run -v /local/path/to/code:/path/inside/container/where/code/will/be --other-options imagename

这样,该目录将同时存在于本地计算机和Docker容器中(两端的更改自动显示在另一端),您可以直接在Docker中操作目录的内容。

答案 1 :(得分:0)

Docker维护了许多可用于根据源代码构建容器的官方语言映像:

每个工作原理是如何工作的,但在内部这些基础图像使用Docker ONBUILD指令,该指令指定在这些图像用作基础时运行的命令。

例如,以下简单的Docker文件就是从本地源代码构建rails应用程序容器所需的全部内容。

FROM rails:onbuild

答案 2 :(得分:0)

与码头工作时,1)和2)点让我很挣扎。我发现docker没有能力解决这些问题。我的解决方案是一个shell脚本,使您可以在git仓库中管理dockerfiles。然后,您可以使用一个命令构建repo并在本地重新启动新容器。无需提交或推送。也可以在一个git仓库中处理多个dockerfiles。

我每天都在开发和生产中使用它。

查看此存储库https://github.com/Equanox/docker-auto-build