在使用带有git的Docker时,我应该为项目文件创建一个卷吗?

时间:2016-08-16 14:57:11

标签: python git docker docker-compose devops

我想Dockerize一个项目。 我有一个git仓库中的项目文件。该项目是用python编写的,需要激活虚拟环境,并在从repo进行git clone之后安装需求点。容器将成为一个开发容器,所以我需要一套基本的软件。当然我还需要修改项目文件,按照我的喜好推送和拉取git。

解决方案A
此解决方案在运行时构建所有内容,如果重新启动容器,则不会保留任何内容。它需要机器安装所有要求,每次启动容器时克隆项目。

  • 使用Dockerfile安装python,virtualenv等。
  • 使用Dockerfile从git克隆项目,安装pip要求。
  • 使用docker compose设置环境,内存限制,cpu共享等。

解决方案B
此解决方案手动从git克隆项目,然后项目文件保存在卷中,无论容器状态如何,您都可以自由地修改它们。

  • 使用Dockerfile安装python,virtualenv等。
  • 使用docker compose设置环境,内存限制,cpu共享等。
  • 创建装在容器上的卷
  • 将项目文件克隆到卷中,设置一次

解决方案C
可能有一个更好的解决方案,我没有想到,如果有,一定要告诉。

1 个答案:

答案 0 :(得分:0)

最佳解决方案是B,但您不会在生产中使用卷。

Docker-compose还允许您轻松地将代码作为卷安装,但您只需要将其用于开发。

在制作中,您会将文件复制到容器中。