Docker Composer с React Router & Express JS - PullRequest
       12

Docker Composer с React Router & Express JS

0 голосов
/ 15 февраля 2020

У меня проблема с запуском Docker compose с приложением React Router и приложением Express JS.

Они оба отлично работают с npm & npm run start et c, но мой файл composer, похоже, вызывает проблемы при попытке их запустить.

Моя папка структурирована следующим образом:

project
  docker-compose.yaml
  - src
    - frontend
      Dockerfile
      - src
        app.js //React App stuff here
    - backend
      Dockerfile
      - src
        app.js //express.js router etc here

В моем docker составьте YAML У меня есть:

version: '3'
services:
  frontend:
    container_name: frontend
    build: ./src/frontend
    volumes:
      - './src/frontend:/frontend'
      - '/frontend/node_modules'
    ports:
      - '3000:3000'
    environment:
      - NODE_ENV=development
  backend:
    build: ./src/backend
    volumes:
      - ./src/backend:/backend
      - /backend/node_modules
    ports:
      - 8000:8000
    container_name: backend

И мой внешний Dockerfile

# base image
FROM node:12.2.0-alpine

# set working directory
WORKDIR /frontend

# add `/app/node_modules/.bin` to $PATH
ENV PATH /frontend/node_modules/.bin:$PATH

# install and cache app dependencies
COPY package.json /frontend/package.json
RUN npm install
RUN npm install react-scripts@3.0.1 -g

# start app
EXPOSE 3000

CMD ["npm", "start"]

и мой внутренний Dockerfile

FROM node:10

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./

RUN npm install
# If you are building your code for production
# RUN npm ci --only=production

# Bundle app source
COPY . .

EXPOSE 8000
CMD [ "node", "src/index.js" ]

Проблема, с которой я сталкиваюсь, заключается в следующем: ошибка: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined Что не имеет смысла.

Любая помощь здесь будет принята с благодарностью.

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