Докер составить файл с пряжи монорепо - PullRequest
0 голосов
/ 04 июля 2018

Я довольно новичок в docker, но пытаюсь получить docker-compose для обработки моей локальной среды разработки. По существу, когда я запускаю docker-compose up, мой API должен работать на порту 3000:3000

Это мой текущий docker-compose.yml файл:

version: "3"

services:
  api:
    image: node:9
    ports:
      - 127.0.0.1:3000:3000
    working_dir: /api
    volumes:
      - ./:/api
    command: bash -c 'yarn && cd api && yarn dev'
  mongo:
    image: mongo:3.4
    ports:
      - 127.0.0.1:27017:27017
    volumes:
      - ./db:/data/db
  minio:
    image: minio/minio
    ports:
      - 9000:9000
    environment:
      - MINIO_ACCESS_KEY=miniokey
      - MINIO_SECRET_KEY=miniosecret
    volumes:
      - ./minio:/data
    command: ["server", "/data"]
  createbuckets:
    image: minio/mc
    depends_on:
      - minio
    entrypoint: >
      /bin/sh -c "
      while ! /usr/bin/nc minio 9000; do sleep 2s; done;
      /usr/bin/mc config host add myminio http://minio:9000 miniokey miniosecret;
      /usr/bin/mc mb myminio/vividaura;
      /usr/bin/mc policy download myminio/vividaura;
      /usr/bin/mc mb myminio/vividaura-test;
      /usr/bin/mc policy download myminio/vividaura-test;
      exit 0;
      "
  nats:
    image: nats:1.1.0-linux
    ports:
      - 127.0.0.1:4222:4222
      - 127.0.0.1:8222:8222

Дело в том, что я использую функцию рабочего пространства пряжи. Поэтому мне нужно запустить yarn в корневом каталоге, а затем запустить yarn внутри /api

Это моя структура папок:

> /api
> /image-compose
> /src
> docker-compose.yml
> package.json

1 Ответ

0 голосов
/ 04 июля 2018

Я получил это работает. Были проблемы с портами. Это мой обновленный docker-compose.yml файл:

version: "3"

services:
  web:
    image: node:9
    ports:
      - 3000:3000
    working_dir: /app
    volumes:
      - ./:/app
    command: bash -c 'yarn && cd src && yarn dev'
    depends_on:
      - api
  api:
    image: node:9
    ports:
      - 3001:3001
    working_dir: /api
    volumes:
      - ./:/api
    command: bash -c 'yarn && cd api && yarn dev'
    depends_on:
      - mongo
      - nats
  mongo:
    image: mongo:3.4
    ports:
      - 127.0.0.1:27017:27017
    volumes:
      - ./db:/data/db
  minio:
    image: minio/minio
    ports:
      - 9000:9000
    environment:
      - MINIO_ACCESS_KEY=miniokey
      - MINIO_SECRET_KEY=miniosecret
    volumes:
      - ./minio:/data
    command: ["server", "/data"]
  createbuckets:
    image: minio/mc
    depends_on:
      - minio
    entrypoint: >
      /bin/sh -c "
      while ! /usr/bin/nc minio 9000; do sleep 2s; done;
      /usr/bin/mc config host add myminio http://minio:9000 miniokey miniosecret;
      /usr/bin/mc mb myminio/vividaura;
      /usr/bin/mc policy download myminio/vividaura;
      /usr/bin/mc mb myminio/vividaura-test;
      /usr/bin/mc policy download myminio/vividaura-test;
      exit 0;
      "
  nats:
    image: nats:1.1.0-linux
    ports:
      - 127.0.0.1:4222:4222
      - 127.0.0.1:8222:8222
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...