如何在一个命令中 运行 多张 docker 图片?

How to run several docker images in one command?

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

问题:我如何使用一个命令构建并运行多个图像,或者 bash 脚本应该这样做吗?

我的docker-撰写文件:

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

所以你需要在你的机器上本地安装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