Med Applikation Hosting kan du bruge en Dockerfile til at oprette dit containerimage. Ved at bruge en Dockerfile får du mere kontrol, og du kan bruge næsten alle sprog, så du er ikke begrænset til de sprog, som Buildpacks understøtter.

En Dockerfile opsætter miljøet afhængigt af instruktionerne i Dockerfilen, som skal indeholde kommandoer til at installere sproget, tilstødende software og biblioteker, opsætte porten og starte webserveren. Kinsta indstiller automatisk PORT-miljøvariablen. Du behøver ikke selv at definere det eller hårdkode det i applikationen. Brug process.env.PORT i din kode, når du henviser til serverporten.

Detaljerede oplysninger om, hvordan du opretter en Dockerfile, findes i Docker Docs.

Dockerfile-indstillinger

Hvis du vil bruge en Dockerfile, skal du, når du tilføjer et program, vælge muligheden for at Brug Dockerfile til at oprette et containerimage i Opbyg miljø.

Dockerfile-stien er stien til din Dockerfile i forhold til repository roden. Hvis din Dockerfil f.eks. er i repositoryroden, skal du indtaste Dockerfile i dette felt. Hvis din Dockerfil er i en undermappe med navnet app, skal du angive stien til Dockerfilen: app/Dockerfile.

Context er den sti i repositoriet, som vi skal have adgang til, så vi kan bygge din applikation. De fleste applikationer bygges fra repositoryroden, og du kan indtaste repositoryroden (.) i feltet Context. Hvis dit program skal bygges fra en undermappe (f.eks. app), skal du indtaste stien til den pågældende undermappe i feltet Context: app.

Udfyld resten af felterne for tilføjelse af din applikation, og klik på Tilføj applikation.

Tilføj et program med en Dockerfile build-type.
Tilføj et program med en Dockerfile-bygningstype.

Eksempel Dockerfile

For at hjælpe dig i gang er her et eksempel på Dockerfile, du kan bruge som reference eller som udgangspunkt.


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