2016-04-30 27 views
0

在泊塢窗,撰寫文檔中的quickstart: Compose and Django頁面,無論是Dockerfiledocker-compose.yml文件添加./code,像這樣:只有在開發環境中時,我如何才能將卷與docker-compose連接起來?

ADD . /code/

而且幾行後:

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

我猜測這樣做是爲了在開發時,你不會經常重建圖像,並且在使用docker build時他的圖像已經內置了源代碼,因此在生產中,您可以簡單地使用docker run來獲取容器。那是對的嗎?

如果是這樣,問題是,我如何創建一個docker-compose.yml來連接一個卷,或者不要根據我是在創建一個生產還是在開發堆棧?

回答

2

發佈這個問題後幾分鐘,我找到了一個頁面,有一些關於如何做到這一點的提示。以下是我認爲必須完成的步驟:

  1. 您可以定義一個附加捲的docker-compose.yml。但是,在您的Dockerfile中,您仍然保留原始的ADDCOPY指令。
  2. 您還定義了一個production.yml文件,該文件不包含開發和生產系統之間的相似性。但是,它確實包含您想要在生產環境中進行的更改。例如,volumes部分很可能是這樣的:

    volumes: {}

現在,當你運行在生產docker-compose,你做這樣的:

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

這裏鏈接到Using Compose in Production作爲參考。