只有在开发环境中,我如何才能使用docker-compose连接卷?

Dockerfile -compose文档中的快速入门:Compose和Django页面中,都添加了Dockerfiledocker-compose.yml文件. 作为/code ,像这样:

ADD . /code/

几行后:

web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code

我猜测这样做是为了在开发过程中,你不会经常重build图像,并且在使用docker build ,图像已经内置了源代码,所以在生产中,你可以简单地做docker run来获得一个容器。 那是对的吗?

如果是这样的话,问题是,我如何创build一个docker-compose.yml来附加一个卷,或者不要根据我是在创build一个生产还是在开发堆栈?

张贴这个问题后几分钟,我来到了一个页面,有几个技巧如何做到这一点。 以下是我认为必须完成的事情:

  1. 您可以定义一个附加卷docker-compose.yml 。 但是,在你的Dockerfile你仍然保留原来的ADDCOPY指令。
  2. 您还可以定义一个production.yml文件,该文件不包括开发和生产系统之间的相似之处。 但是,它确实包含了您要在生产环境中进行的更改。 例如, volumes部分可能是这样的:

    volumes: {}

现在,当你在生产中运行docker-compose时,你可以这样做:

$ docker-compose -f docker-compose.yml -f production.yml up

以下是链接到生产中使用撰写作为参考。