Met Applicatie Hosting kun je een Dockerfile gebruiken om je container image op te zetten. Het gebruik van een Dockerfile geeft je meer controle, en je kunt bijna elke taal gebruiken, dus je bent niet beperkt tot de talen die Buildpacks ondersteunen.

Een Dockerfile stelt de omgeving in, afhankelijk van de instructies in de Dockerfile, die opdrachten moeten bevatten om de taal, aangrenzende software en bibliotheken te installeren, de poort in te stellen, en de webserver te starten. Kinsta stelt automatisch de omgevingsvariabele PORT in. Je hoeft deze niet zelf te definiëren of te hardcoden in de applicatie. Gebruik process.env.PORT in je code als je verwijst naar de serverpoort.

Gedetailleerde informatie over het maken van een Dockerfile is beschikbaar in Docker Docs.

Dockerfile instellingen

Om een Dockerfile te gebruiken, selecteer je bij het toevoegen van een applicatie de optie om Gebruik Dockerfile om container image op te zetten in de Omgeving opbouwen.

Het Dockerfile pad is het pad naar je Dockerfile ten opzichte van de repository root. Bijvoorbeeld, als je Dockerfile in de repository root staat, vul dan Dockerfile in dat veld in. Als je Dockerfile in een subdirectory met de naam app staat, voer dan het pad naar het Dockerfile in: app/Dockerfile.

Context is het pad in de repository waartoe we toegang moeten hebben zodat we je applicatie kunnen bouwen. De meeste applicaties worden gebouwd vanaf de repository root, en je kunt de repository root (.) invoeren in het Context veld. Als je applicatie gebouwd moet worden vanuit een subdirectory (bijvoorbeeld app), vul dan het pad van die subdirectory in het Context veld in: app.

Vul de rest van de velden voor het toevoegen van je toepassing in en klik op Applicatie toevoegen.

Een toepassing toevoegen met een Dockerfile build type.
Een toepassing toevoegen met een Dockerfile build type.

Voorbeeld Dockerfile

Om je op weg te helpen is hier een voorbeeld van een Dockerfile dat je kunt gebruiken als referentie of als uitgangspunt.


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"]