Med Applikationshosting så kan du använda en Dockerfil för att konfigurera din containeravbildning. Genom att använda en Dockerfil så får du mer kontroll, och du kan använda nästan vilket språk som helst. Du är med andra ord inte begränsad till de språk som Buildpacks stöder.

En Dockerfil ställer in miljön beroende på instruktionerna i Dockerfilen. Den måste innehålla kommandon för att installera språket, angränsande programvara och bibliotek, konfigurering av porten och start av webbservern. Kinsta ställer automatiskt in miljövariabeln PORT. Du behöver inte definiera detta själv eller hårdkoda det i applikationen. Till exempel i Node.js använd process.env.PORT i din kod när du hänvisar till serverporten.

Detaljerad information om hur du skapar en Dockerfil finns i Docker Docs.

Dockerfil-inställningar

Om du vill använda en Dockerfil så väljer du alternativet Använd Dockerfil för att skapa en containeravbildning i Bygg upp en miljö.

Dockerfilens sökväg är sökvägen till din Dockerfil i förhållande till arkivroten. Om din Dockerfil exempelvis finns i arkivroten så anger du Dockerfil i det fältet. Om din Dockerfil finns i en underkatalog som heter app så anger du sökvägen till Dockerfilen: app/Dockerfile.

Context är sökvägen i arkivet som vi behöver ha tillgång till för att kunna bygga din applikation. De flesta applikationer byggs från arkivets rot, och du kan ange arkivets rot (.) i fältet Context. Om din applikation måste byggas från en underkatalog (t.ex. app) så anger du sökvägen till den underkatalogen i fältet Context: app.

Fyll i resten av fälten för att lägga till din applikation och klicka på Lägg till applikation.

Lägg till en applikation med en Dockerfil-byggtyp.
Lägg till en applikation med en Dockerfil-byggtyp.

Exempel Dockerfil

För att hjälpa dig att komma igång, så kommer här ett exempel på en Dockerfil som du kan använda som referens eller som utgångspunkt.


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