2016-07-07 195 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