Con el Alojamiento de Aplicaciones, puedes utilizar un Dockerfile para configurar tu imagen de contenedor. Usar un Dockerfile te da más control, y puedes usar casi cualquier lenguaje, por lo que no estás restringido a los lenguajes que soportan los Buildpacks.

Un Dockerfile configura el entorno dependiendo de las instrucciones dentro del Dockerfile, que debe incluir comandos para instalar el lenguaje, el software adyacente y las bibliotecas, configurar el puerto e iniciar el servidor web. Kinsta establece automáticamente la variable de entorno PORT. No necesitas definirla tú mismo o programarla en la aplicación. Por ejemplo, en Node.js, utiliza process.env.PORT en tu código cuando te refieras al puerto del servidor.

Hay disponible información detallada sobre cómo crear un Dockerfile en Docker Docs.

Para utilizar un Dockerfile, cuando añadas una aplicación, selecciona la opción Utiliza Dockerfile para configurar la imagen del contenedor en el campo Construir el entorno.

La ruta del Dockerfile es la ruta de tu Dockerfile relativa al root del repositorio. Por ejemplo, si tu Dockerfile está en el root del repositorio, introduce Dockerfile en ese campo. Si tu Dockerfile está en un subdirectorio llamado app, introduce la ruta al Dockerfile: app/Dockerfile.

El Contexto es la ruta en el repositorio a la que necesitamos acceder para poder construir tu aplicación. La mayoría de las aplicaciones se construyen desde el root del repositorio, y puedes introducir el root del repositorio (.) en el campo Contexto. Si tu aplicación debe construirse desde un subdirectorio (por ejemplo, app), introduce la ruta de ese subdirectorio en el campo Contexto: app.

Completa el resto de los campos para añadir tu aplicación y haz clic en Añadir aplicación.

Añadir una aplicación con un tipo de construcción Dockerfile.
Añadir una aplicación con un tipo de construcción Dockerfile.

Ejemplo de Dockerfile

Para ayudarte a empezar, aquí tienes un Dockerfile de ejemplo que puedes usar como referencia o como punto de partida.


FROM node:carbon

LABEL maintainer="Kinsta devs"

# Set the working directory to /app
WORKDIR /app

# Copy the current directory contents into the container at /app
COPY . /app

# Install any needed packages specified in package.json
RUN npm install

# Run app when the container launches
CMD ["npm", "start"]