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.

Ein Dockerfile richtet die Umgebung entsprechend den Anweisungen im Dockerfile ein, die Befehle zur Installation der Sprache, der angrenzenden Software und der Bibliotheken, zum Einrichten des Ports und zum Starten des Webservers enthalten müssen. Kinsta setzt automatisch die Umgebungsvariable PORT. Du musst sie nicht selbst definieren oder in der Anwendung fest programmieren. In Node.js verwendest du zum Beispiel process.env.PORT in deinem Code, wenn du dich auf den Serverport beziehst.

Detaillierte Informationen über die Erstellung eines Dockerfiles 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

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