Точка входа в Dockerfile конфликтует с контекстом docker-compose - PullRequest
0 голосов
/ 12 октября 2018

У меня есть настройка докера, в которой нет Dockerfile или docker-compose в корне, потому что есть много сервисов.

build
 client.Dockerfile
deployments
 docker-compose.yml
web
  core
    scripts
      run.sh

docker-compose

version: "3.1"
services:
  client:
    build:
      context: ..
      dockerfile: ./build/client.Dockerfile
    volumes:
      - ./web/core:/app
    ports:
      - 3000:3000
      - 35729:35729

И затемthe dockerfile:

FROM node:10.11

ADD web/core/yarn.lock /yarn.lock
ADD web/core/package.json /package.json

ENV NODE_PATH=/node_modules
ENV PATH=$PATH:/node_modules/.bin
RUN yarn

WORKDIR /app
ADD web/core /app

EXPOSE 3000
EXPOSE 35729

RUN cat /app/scripts/run.sh

ENTRYPOINT ["/bin/bash", "/app/scripts/run.sh"]
CMD ["start"]

Теперь команда RUN отображает результат файла, чтобы он там был.Однако при запуске docker-compose up client_1 | /bin/bash: /app/scripts/run.sh: No such file or directory

я предполагаю, что это как-то связано с контекстом docker-compose, потому что, когда файл dockerfile находился в корневом каталоге, он работал нормально.

У меня такое ощущение, что докер по сути предназначен для работы только в корне.

Контекст:

Я хочу перезагружать сервер create-реакции-приложения в режиме реального времени так: https://www.peterbe.com/plog/how-to-create-react-app-with-docker.

Я бы хотел настроить свой проект следующим образом: https://github.com/golang-standards/project-layout

1 Ответ

0 голосов
/ 12 октября 2018

Ваш объем неправильно растет.Это должно решить проблему.Я создал похожую структуру папок.Из корневой папки build побежал docker-compose -f ./deployments/docker-compose.yml up.Работает нормально, только я меняю путь громкости.

volumes:
  - ../web/core:/app
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...