Guía de entrevistas técnicas de Devops

Accede/Registrate para Descargar tu Guía

Lista de Preguntas


¿ Qué es Dockerfile?

Un Dockerfile es un script de texto que contiene instrucciones para construir una imagen Docker. Un ejemplo simple y común de un Dockerfile para una aplicación web basada en Node.js:

# Utilizamos una imagen base de Node.js

FROM node:14
 

# Establecemos el directorio de trabajo dentro del contenedor

WORKDIR /usr/src/app

 

# Copiamos el archivo package.json e package-lock.json (si existe) para aprovechar el caché de capas de Docker

COPY package*.json ./

 

# Instalamos las dependencias de la aplicación

RUN npm install

 

# Copiamos el resto de los archivos de la aplicación al directorio de trabajo

COPY . .

 

# Exponemos el puerto 3000, que es el puerto en el que la aplicación ejecutará

EXPOSE 3000

 

# Comando para iniciar la aplicación cuando el contenedor se ejecute

CMD ["npm", "start"]

 

Este Dockerfile es para una aplicación Node.js típica. Aquí hay una explicación de las secciones clave:

FROM: Especifica la imagen base que se utilizará para construir la nueva imagen. En este caso, estamos utilizando la imagen oficial de Node.js en su versión 14.

WORKDIR: Establece el directorio de trabajo dentro del contenedor donde se ejecutarán los comandos siguientes.

COPY: Copia los archivos package.json y package-lock.json al directorio de trabajo. Esto se realiza antes de la instalación de dependencias para aprovechar el caché de capas de Docker y evitar reinstalar las dependencias si estos archivos no han cambiado.

RUN: Ejecuta el comando npm install para instalar las dependencias de la aplicación.

COPY: Copia todos los archivos de la aplicación al directorio de trabajo.

EXPOSE: Expone el puerto 3000, que es el puerto en el que la aplicación Node.js se ejecutará.

CMD: Especifica el comando que se ejecutará cuando el contenedor se inicie. En este caso, se inicia la aplicación Node.js con el comando npm start.

Whatsapp Mentores Tech