es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Configuración de Desarrollo Next.js con Docker

Quiero ejecutar mi código Next.js usando docker. Aquí está la estructura de mi código.

Cuando lo compilo, devuelve un éxito como este.

Pero, cuando lo abro, obtengo esto…

Mi archivo docker.compose.yaml contiene lo siguiente…

versión: ‘3.8’
servicios:
web:
imagen: ‘app’
puertos:
– ‘3000:3000’
nombre_del_contenedor: app-next
build:
contexto: web
dockerfile: Dockerfile
volúmenes:
– ./web:/usr/src/app
– /usr/src/app/node_modules
– /usr/src/app/.next

Mi Dockerfile contiene lo siguiente…

FROM node:12-alpine

RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app

COPY package*.json yarn.lock /usr/src/app/
RUN yarn install

EXPOSE 3000

CMD ["yarn", "dev"]

¿Alguien puede arreglar esto?
Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que tienes problemas ejecutando tu código Next.js en Docker. Tu archivo docker-compose.yaml contiene:


    version: '3.8'
    services:
    web:
    image: 'app'
    ports:
    - '3000:3000'
    container_name: app-next
    build:
    context: web
    dockerfile: Dockerfile
    volumes:
    - ./web:/usr/src/app
    - /usr/src/app/node_modules
    - /usr/src/app/.next

    Tu archivo Dockerfile contiene:

    FROM node:12-alpine
    
    RUN mkdir -p /usr/src/app 
    WORKDIR /usr/src/app
    
    COPY package*.json yarn.lock /usr/src/app/
    RUN yarn install
    
    EXPOSE 3000
    
    CMD ["yarn", "dev"]
    

    Tu consola de navegador muestra:


    Failed to load resource: net::ERR_CONNECTION_REFUSED

    Es posible que el puerto al que intentas acceder no esté abierto. Puedes intentar abrir el puerto en tu archivo docker-compose.yaml agregando la siguiente línea:


    ports:
    - "3000:3000"

    También puedes intentar verificar si el puerto está abierto ejecutando el siguiente comando:


    netstat -an | grep 3000

    Si el puerto está abierto, puedes intentar verificar si el servicio está en ejecución con el siguiente comando:


    docker ps

    Si el servicio está en ejecución, puedes intentar verificar los registros del servicio ejecutando el siguiente comando:


    docker logs

    Si aún tienes problemas, proporcione más información sobre tu configuración y los pasos que has realizado hasta ahora.

Comments are closed.