Нужно ли сначала собирать контейнеры перед использованием docker compose? - PullRequest
0 голосов
/ 05 февраля 2020

Docker Создайте решение для одновременного создания всех зависимых контейнеров. Я прочитал несколько статей, объясняющих, как создавать несколько контейнеров одновременно:

version: '3'

services:
  postgresql:
    image: postgres:9.6.6
    ports:
      - 9932:5432
    expose:
      - "5432"
    environment:
      - POSTGRES_PASSWORD=pass
    restart: always
    volumes:
      - /data:/var/lib/postgresql/data

  myapp:
    image: myapp
    links:
      - postgresql
    depends_on:
      - "postgresql"
    restart: always
    ports:
      - "5000:5000

1) Так что мне нужно собрать / запустить вручную myapp и postgresql с помощью команд docker build и docker run? (в случае postgresql возможна банка docker run - она ​​вытягивает ее из docker концентратора) и только после может использовать docker-compose up

2) Если я добавлю:

app:
    build: ./app

это избежит меня от 1)? (можно использовать docker-compose up без docker build и docker run этапов подготовки)

1 Ответ

2 голосов
/ 05 февраля 2020

Когда вы запускаете docker-compose up и:

  • Если вы предоставляете тег image, а не тег build, как в данном случае postgresql, система сначала будет выглядеть для имени изображения на вашем локальном компьютере (postgres:9.6.6 в данном случае). Если он не может найти, он попытается извлечь из Inte rnet (по умолчанию в Dockerhub)
  • Если вы предоставите тег build, он попытается построить образ вашего приложения сначала на основе предоставленного местоположения context и Dockerfile и раскрутите контейнер на основе этого.
  • Если вы предоставите теги build и image, он создаст и сохранит изображение как Имя изображения, которое вы определили.

Итак, чтобы ответить на ваши вопросы:

  1. Вы можете просто использовать docker-compose up без первого запуска docker run или docker pull. Однако для частного реестра сначала необходимо войти в систему, чтобы у Docker было разрешение на извлечение из.
  2. Да, как описано выше.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...