如何使用Git将代码从本地主机部署到Docker容器?

我是新来的docker(2天​​),真的想了解如何将其整合到我的开发工作stream程中。

考虑这种情况(是的,我做了这张照片)
在这里输入图像说明

我一直在我的本地git仓库上工作,并想在一个(或多个)docker集装箱中testing我的代码。

a。)build议将代码本地提供给这些容器的最佳方法是什么?

我问的原因是因为如果我必须在本地进行git提交 – 推送,并拉入相应的容器中,我会看到2个问题

1)发展中的往返时间是昂贵的
2.)如果我不在状态检查我的代码,我只是testing/复制一个错误等。

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

对于(2),这是Git分支的目的。 如果(1)确实是一个交易断路器,并且如果Docker在您正在开发的同一台机器上运行(不清楚是否是这种情况),则可以将包含您的代码的本地目录安装到新的docker集装箱:

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

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

Docker维护许多官方语言图像,可用于从源代码构build容器:

  • 轨道
  • ruby
  • Java的
  • ..

每种技术如何工作都是技术特定的,但是在内部,这些基础映像使用Docker ONBUILD指令来指定在将这些映像用作基础时运行的命令。

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

 FROM rails:onbuild 

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

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

看看这个存储库https://github.com/Equanox/docker-auto-build