Dockerfiles
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 Nixpacks of 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 in Node.js bijvoorbeeld 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.
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"]
Host een database met een Dockerfile
Als je persistente opslag en een Dockerfile combineert, kun je vrijwel elke database hosten die je maar wilt met onze Applicatie Hosting. Zelfs iets als een Microsoft SQL Server database, die niet wordt ondersteund op onze Database Hosting, kan worden ge deployed. Als je het kunt containeriseren met een Dockerfile, kun je het deployen op Applicatie Hosting.
Persistente opslag is nodig om de gegevens in je database te bewaren. Als je een database deployed op Applicatie Hosting zonder persistente opslag, zullen alle gegevens verloren gaan als de applicatie opnieuw wordt opgestart of opnieuw wordt gedeployed.
Docker images voor veel databases zijn te vinden op Docker Hub. Zoek naar de Docker Official Image badge bij het zoeken naar een database om de meest veilige en goed gedocumenteerde images te krijgen die de best practices volgen.