Size: a a a

React: русскоязычное сообщество

2021 January 18

EP

Egor Petrov in React: русскоязычное сообщество
D. Ouhh
  frontend:
   build:
     context: ./frontend
     dockerfile: frontend.dockerfile
   command: npm run start
   volumes:
     - ./frontend:/app
   ports:
     - 3000:3000
   depends_on:
     - db
   env_file:
     - ./.env.dev

вот так прописано в docker-compose.yml. интересный факт: оно почему-то .dockerignore не видит
а где он у тебя расположен?
источник

DO

D. Ouhh in React: русскоязычное сообщество
Egor Petrov
а где он у тебя расположен?
./frontend/.dockerignore
источник

EP

Egor Petrov in React: русскоязычное сообщество
У тебя на CRA?
источник

EP

Egor Petrov in React: русскоязычное сообщество
просто поробую конфиг запилить для CRA
источник

DO

D. Ouhh in React: русскоязычное сообщество
Egor Petrov
У тебя на CRA?
хз что это) оно мне поможет сделать node_modules независимыми от системы?
источник

EP

Egor Petrov in React: русскоязычное сообщество
Create React App
источник

EP

Egor Petrov in React: русскоязычное сообщество
хз, самому интересно стало )
источник

DO

D. Ouhh in React: русскоязычное сообщество
Egor Petrov
Create React App
аа, да, он
источник

DO

D. Ouhh in React: русскоязычное сообщество
если я например сейчас сделаю sudo docker-compose down -v, потом удалю node_modules, потом sudo docker-compose up -d —build, то мне на стартапе фронт выдаст ошибку, что будто нет react-scripts. он не может самостоятельно node_modules создать
источник

EP

Egor Petrov in React: русскоязычное сообщество
D. Ouhh
если я например сейчас сделаю sudo docker-compose down -v, потом удалю node_modules, потом sudo docker-compose up -d —build, то мне на стартапе фронт выдаст ошибку, что будто нет react-scripts. он не может самостоятельно node_modules создать
щас конфиги скину
источник

EP

Egor Petrov in React: русскоязычное сообщество
docker-compose.yaml
version: '3.1'

services:
 cra-docker:
   image: cra-docker
   build: .
   ports:
     - 3000:3000
   volumes:
     - .:/app
     - /app/node_modules
источник

EP

Egor Petrov in React: русскоязычное сообщество
Dockerfile
FROM node:14-alpine
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
источник

EP

Egor Petrov in React: русскоязычное сообщество
.dockerignore
.dockerignore
Dockerfile
docker-compose.yml
build
**/.git
**/.DS_Store
**/node_modules
источник

EP

Egor Petrov in React: русскоязычное сообщество
Такая файловая структура
источник

DO

D. Ouhh in React: русскоязычное сообщество
Egor Petrov
щас конфиги скину
ооо, спасибо. я вижу что у меня нет волюма node_modules. разве он автоматом не входит в /app?
источник

EP

Egor Petrov in React: русскоязычное сообщество
D. Ouhh
ооо, спасибо. я вижу что у меня нет волюма node_modules. разве он автоматом не входит в /app?
если честно, то я сам гуглил
источник

EP

Egor Petrov in React: русскоязычное сообщество
Note that we're using the anonymous volume ('/app/node_modules') so the node_modules directory would not be overwritten by the mounting of the host directory at runtime. Actually, this would happen:

build - The node_modules directory is created in the image.
run - The current directory is mounted into the container, overwriting the node_modules that were installed during the build.
источник

DO

D. Ouhh in React: русскоязычное сообщество
Egor Petrov
Note that we're using the anonymous volume ('/app/node_modules') so the node_modules directory would not be overwritten by the mounting of the host directory at runtime. Actually, this would happen:

build - The node_modules directory is created in the image.
run - The current directory is mounted into the container, overwriting the node_modules that were installed during the build.
ааааааа, так вот в чём было дело. спасибо огромное!
источник

EP

Egor Petrov in React: русскоязычное сообщество
Насколько я понял, то так как мы монтируем нашу папку в app, а в ней нет node_modules то и в контейнере тоже нет
источник

EP

Egor Petrov in React: русскоязычное сообщество
создаем анонимный volume и живем счастливо
источник