Git 共享数据容器中的开发和版本控制

Git 共享数据容器中的开发和版本控制,git,ide,docker,linux-containers,Git,Ide,Docker,Linux Containers,我正在做一个OpenERP项目,我正在做一些自定义模块。我有3个容器设置: 应用程序:OpenERP服务正在此处运行 db:PostgreSQL服务,没有别的 数据:仅为卷目录,用作“应用程序”容器的数据提供程序 它工作得很好,但是如果我想处理数据容器中的文件,我不知道使用适当IDE的最快和最好的方法是什么,如果我完成了,提交代码并在关闭容器后实际保留它 一种方法是使用共享X11服务创建另一个容器,并使用基于GUI的IDE或类似的工具将其添加到容器上,但这对我来说似乎有点过分了 关于版本控制

我正在做一个OpenERP项目,我正在做一些自定义模块。我有3个容器设置:

  • 应用程序:OpenERP服务正在此处运行
  • db:PostgreSQL服务,没有别的
  • 数据:仅为卷目录,用作“应用程序”容器的数据提供程序
它工作得很好,但是如果我想处理数据容器中的文件,我不知道使用适当IDE的最快和最好的方法是什么,如果我完成了,提交代码并在关闭容器后实际保留它

一种方法是使用共享X11服务创建另一个容器,并使用基于GUI的IDE或类似的工具将其添加到容器上,但这对我来说似乎有点过分了

关于版本控制:我有一个远程git repo,它可能有助于存储更改,但一旦我从Dockerfile构建映像并启动它,它就无法克隆repo,因为它只允许SSH连接,而容器没有它

我发现了几篇关于共享数据容器的文章和博客文章,以及它们有多棒。我还没有找到另一个他们讨论这些数据容器上代码的实际开发和提交的地方


想法?

您不需要具有共享X11服务的容器,也不需要使用git从容器中克隆代码repo

对于开发,您可以使用“数据”容器中的卷装载代码文件夹,然后您的“应用”容器将看到这些文件(请参阅):

由于此文件夹将位于主机中,因此将在“数据”容器关闭后保留该文件夹。您还可以使用最喜爱的IDE编辑代码

对于生产,您可以将代码文件夹添加到容器映像本身中,以便直接部署容器。在Dockerfile中:

ADD /home/user/webapp /opt/webapp

另外,请参阅,以获取有关此方法的简短讨论。

最初我是这样做的。问题是文件夹必须具有特定权限(由用户openerp拥有,该用户在数据和应用程序容器中创建)。在这种情况下,最好的方法是什么?我不认为有一个简单的解决方案。有关它的讨论,请参阅。
ADD /home/user/webapp /opt/webapp