Intereting Posts
Nginx Angular2 / Угловые маршруты сопоставление портов докеров для агента консула Файл docker-compose.yml ведет себя по-разному в ECS, чем локальный докер Ошибка: ./ts3server: не найден Команда Eval не найдена при завершении учебника Docker for Windows Как запустить простой основной метод и скопировать файл, который он сгенерировал с помощью докера «404 страница не найдена», когда exec `curl –unix-socket /var/run/docker.sock http: / container / json` Ошибка 500 доступа в приложении rails с puma и nginx Контейнер Tomcat Docker: каталог хоста webapp, установленный как контейнер webapp directory Контейнер-докер не может пинговать внешний мир – iptables Почему сервер разработки php зависает с созданием докеров? Обновление докеров, не затрагивающих запущенные контейнеры Развертывание нескольких cloud.json Google Cloud Хост карты / etc / hosts в контейнере Docker, имеющем сеть моста Как установить старую версию (1.8.3) докера на OS-X?

Несколько сервисов, начиная с make in docker-compose

У меня довольно простая архитектура.

Внешний интерфейс прослушивается из Интернета; он помещает сообщение в брокер сообщений; сообщение потребляется с помощью бэкэнд.

У меня есть файл для докеры для интерфейса и брокера сообщений, один для брокера сообщений и бэкэнд, оба из которых работают очень хорошо. Однако мне нужно, чтобы все докеры составляли все 3 из этих сервисов вместе.

Основная проблема заключается в том, что либо интерфейс, либо бэкэнд должны начать использовать make.

Например, интерфейс:

frontend: build: . command: make serve depends_on: - message_broker message_broker: image: message/broker 

бэкэнд почти такой же.

Теперь я попытался просто понять эти два вопроса:

 frontend: build: frontend command: make serve depends_on: - message_broker backend: build: backend command: make serve depends_on: - message_broker - frontend message_broker: image: message/broker 

Однако, когда я пытаюсь запустить его с помощью docker-compose up я получаю make: *** No rule to make target 'serve'. Stop. make: *** No rule to make target 'serve'. Stop. для служб, интерфейсов и бэкэнд.

Конечно, есть правило для serve внутри каждого Makefile.

Один файл docker выглядит следующим образом:

 FROM golang:1.6.2 ENV PROJECT_PATH=/go/src/github.com/brocaar/lora-semtech-bridge ENV PATH=$PATH:$PROJECT_PATH/build # install tools RUN go get github.com/golang/lint/golint RUN go get github.com/kisielk/errcheck # setup work directory RUN mkdir -p $PROJECT_PATH WORKDIR $PROJECT_PATH # copy source code COPY . $PROJECT_PATH # build RUN make build CMD ["semtech-bridge"] 

У меня такое впечатление, что я запускаю make внутри неправильного каталога, как мне его исправить?

Ваше впечатление верное. : p Установите WORKDIR в файл Docker.