Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

565
Views
Composición de Docker con subdirectorio y recarga en vivo

Creé una aplicación usando create-react-app y configuré docker compose para configurar el contenedor e iniciar la aplicación. Cuando la aplicación está en el directorio raíz, la aplicación se inicia y funciona la recarga en vivo. Pero cuando muevo la aplicación a un subdirectorio, puedo hacer que la aplicación se inicie, pero la recarga en vivo no funciona.

Aquí está la configuración de trabajo:

Dockerfile

 FROM node:7.7.2 ADD . /code WORKDIR /code RUN npm install EXPOSE 3000 CMD npm start

docker-compose.yml

 version: "2" services: client: build: . ports: - "3000:3000" volumes: - .:/code

Estructura de directorios

 app - node_modules - docker-compose - Dockerfile - package.json - src - public

Aquí está la estructura que me gustaría:

 app - server - client / node_modules / Dockerfile / package.json / src / public - docker-compose.yml

He probado todas las variaciones que se me ocurren, pero la recarga en vivo no funciona.

Lo primero que tuve que hacer fue cambiar la ubicación de compilación:

 version: "2" services: client: build: ./client ports: - "3000:3000" volumes: - .:/code

Luego recibí un error al intentar ejecutar docker-compose up :

 npm ERR! enoent ENOENT: no such file or directory, open '/code/package.json'

Así que cambié el volumen a - .:/client/code y reconstruí y ejecuté el comando y la aplicación comenzó, pero no se recargó en vivo.

De todos modos, ¿hacer esto cuando la aplicación está en un subdirectorio?

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No hay diferencia en las rutas dentro del contenedor cuando mueve su directorio local. Entonces solo necesita cambiar las referencias locales.

El montaje del volumen debe provenir de ./client

 version: "2" services: client: build: ./client ports: - "3000:3000" volumes: - ./client:/code
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!