Beim Anwendungs-Hosting kannst du ein Dockerfile verwenden, um dein Container-Image einzurichten. Mit einem Dockerfile hast du mehr Kontrolle und kannst fast jede Sprache verwenden, du bist also nicht auf die Sprachen beschränkt, die Buildpacks unterstützen. Detaillierte Informationen darüber, wie du eine Dockerdatei erstellst, findest du in den Docker Docs.

Dockerfile-Einstellungen

Um ein Dockerfile zu verwenden, wählst du beim Hinzufügen einer Anwendung die Option Dockerfile verwenden, um das Container-Image einzurichten in der Umgebung aufbauen.

Der Dockerfile-Pfad ist der Pfad zu deinem Dockerfile relativ zum Stammverzeichnis des Repositorys. Wenn sich deine Dockerdatei zum Beispiel im Stammverzeichnis des Repositorys befindet, gibst du Dockerfile in dieses Feld ein. Wenn sich deine Dockerdatei in einem Unterverzeichnis namens app befindet, gib den Pfad zur Dockerdatei ein: app/Dockerfile.

Context ist der Pfad im Repository, auf den wir zugreifen müssen, damit wir deine Anwendung erstellen können. Die meisten Anwendungen werden aus dem Stammverzeichnis des Repositorys erstellt, daher kannst du das Stammverzeichnis des Repositorys (.) in das Feld Kontext eingeben. Wenn deine Anwendung von einem Unterverzeichnis aus erstellt werden muss (z. B. app), gib den Pfad zu diesem Unterverzeichnis in das Feld Context ein: app.

Fülle die restlichen Felder zum Hinzufügen deiner Anwendung aus und klicke auf Anwendung hinzufügen.

Füge eine Anwendung mit einem Dockerfile-Build-Typ hinzu.
Füge eine Anwendung mit einem Dockerfile-Build-Typ hinzu.

Beispiel-Dockerfile

Um dir den Einstieg zu erleichtern, findest du hier ein Beispiel-Dockerfile, das du als Referenz oder als Ausgangspunkt verwenden kannst.


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

# Expose port 3000 for accessing  the app
EXPOSE 3000

EXPOSE $PORT

# Run app when the container launches
CMD ["npm", "start"]