2016-07-07 198 views
0

命令我按照這個教程: Python Docker compose在本教程中,它會創建一個碼頭工人撰寫文件:碼頭工人組成:後搬運工,撰寫運行命令

version: '2' 
services: 
    db: 
    image: postgres 
    web: 
    build: . 
    command: python manage.py runserver 0.0.0.0:8000 
    volumes: 
     - .:/code 
    ports: 
     - "8000:8000" 
    depends_on: 
     - db 

之後,運行搬運工組成命令建立項目:

docker-compose run web django-admin.py startproject composeexample . 

我不知道的事情是:當我讀到另一個泊塢窗教程中,我們常常只需要運行docker-compose run運行項目。這些命令的含義是什麼:web django-admin.py startproject composeexample .據我所知,這個命令的意思是:先創建一個python項目,然後調用docker-compose.yml進行配置。對?

回答

2

docker-compose run用於在服務的容器中運行一次性命令。它不能沒有參數使用 - 至少服務名稱是必需的。有關該命令的更多信息,請參閱documentation。命令你提到:

docker-compose run web django-admin.py startproject composeexample . 

在你的項目的web容器執行django-admin.py startproject composeexample .,覆蓋在泊塢窗,compose.yml的web服務指定默認的命令

command: python manage.py runserver 0.0.0.0:8000 

+0

稍作澄清,它實際上不會在現有容器中運行命令。它創造了一個新的。如果您想在現有容器中運行命令,請使用'docker-compose exec'。 – johnharris85