如何在一个命令中运行几个docker镜像?

时间:2017-08-26 10:27:27

标签: docker docker-compose dockerfile docker-machine

我有多个服务的docker-compose文件,例如nginx,web,redis,postgresql和他们自己的Dockerfile。我总是运行docker-machine,然后运行docker-compose build && docker-compose up。但是现在我在老款笔记本电脑(Ubuntu 16)上工作,它不支持HyperV技术,我应该本地运行docker。

问题:如何使用一个命令构建和运行多个图像,或者应该使用哪个bash脚本?

我的docker-compose文件:

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

1 个答案:

答案 0 :(得分:1)

所以你需要在你的机器上原生安装docker

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

这将安装docker但它还没有启动。所以你需要启用并启动服务

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

# Start docker right now
$ sudo systemctl start docker
相关问题