2017-08-26 157 views
0

我有docker-compose文件與幾個服務,如nginx,web,redis,postgresql與自己的Dockerfile。我總是運行碼頭機,然後運行docker-compose build && docker-compose up。但是現在我使用舊筆記本電腦(Ubuntu 16),它不支持HyperV技術,我應該在本地運行docker。如何在一個命令中運行多個docker鏡像?

問題:如何使用一個命令或bash腳本應該如何構建和運行多個圖像?

我的搬運工,撰寫文件:

version: '3' 

services: 
    web: 
    build: 
     context: ./web 
     args: 
     - REQUIREMENTS_FILE=requirements_all.txt 
     - REQUIREMENTS_SRC_PATH=requirements*.txt 
    env_file: ./web/.env 
    volumes: 
     - ./web:/code 
    depends_on: 
     - postgres 
     - redis 
    command: newrelic-admin run-program python manage.py runserver 0.0.0.0:8000 

    nginx: 
    build: ./nginx/ 
    ports: 
     - "80:80" 
    volumes: 
     - ./web/static:/code/static 
    depends_on: 
     - web 

    postgres: 
    image: postgres:latest 
    ports: 
     - "5432:5432" 
    environment: 
     - POSTGRES_USER=administrator 
     - POSTGRES_PASSWORD=love_docker 
    volumes: 
     - /var/lib/postgresql/data/ 

    redis: 
    image: redis:latest 
    ports: 
     - "6379:6379" 
    volumes: 
     - /data 
+0

爲什麼現在相同的兩個命令不起作用? –

+0

@TarunLalwani'docker-compose build && dcoker-compose up'工作,但我不知道自己運行docker –

+0

所以你的意思是你想用'docker build ...'和'docker run ...'命令運行而不是使用'docker-compose'? –

回答

1

所以,你需要在你的機器

$ curl -sSL https://get.docker.com | sh 

這本機安裝泊塢窗將安裝碼頭工人,但它不會被尚未開始。因此,您需要啓用並啓動服務

# Enable docker to start on boot 
$ sudo systemctl enable docker 

# Start docker right now 
$ sudo systemctl start docker 
相關問題