Dockerfiles
Con el Alojamiento de Aplicaciones, puedes utilizar un Dockerfile para configurar tu imagen de contenedor. Utilizar un Dockerfile te da más control, y puedes utilizar casi cualquier lenguaje, por lo que no estás restringido a los lenguajes que soportan Nixpacks o 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.
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"]
Alojar una Base de Datos con un Dockerfile
Si combinas el almacenamiento persistente y un Dockerfile, puedes alojar prácticamente cualquier base de datos que desees con nuestro Alojamiento de Aplicaciones. Incluso algo como una base de datos de Microsoft SQL Server, que no está soportada en nuestro Alojamiento de Bases de Datos, se puede desplegar. Si puedes contenerizarla con un Dockerfile, puedes desplegarla en el Alojamiento de Aplicaciones.
El almacenamiento persistente es necesario para conservar los datos de tu base de datos. Si despliegas una base de datos en el Alojamiento de Aplicaciones sin almacenamiento persistente, todos los datos se perderán si la aplicación se reinicia o se vuelve a desplegar.
Puedes encontrar imágenes Docker para muchas bases de datos en Docker Hub. Busca el distintivo de Imagen Oficial de Docker cuando busques una base de datos para obtener las imágenes más seguras y bien documentadas que respetan las mejores prácticas.