2017-08-26 79 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 
相关问题