CapRover: ARGs und ENV-Variablen in Dockerfiles

CapRover ist eine leistungsfähige und einfach zu bedienende PaaS (Platform as a Service), CapRover ermöglicht es, Anwendungen mit minimalem Aufwand zu deployen. Es setzt auf Docker und bietet eine intuitive Web-Oberfläche zur Verwaltung von Containern.

Ein häufiges Problem bei der Nutzung von Dockerfiles ist der Umgang mit ENV-Variablen, insbesondere wenn bestimmte Werte bereits zur Build-Zeit festgelegt werden sollen. Hier kommen ARG-Variablen ins Spiel, die während des Builds gesetzt und genutzt werden können.

CapRover stellt die in der Web-UI gesetzten Umgebungsvariablen als Build-Argumente (ARG) während des Builds bereit

Beispiel:

# Basis-Image
FROM node:18-alpine

# Definiere ARG-Variable, die beim Build übergeben werden kann
ARG API_URL

# Setze ENV-Variable basierend auf ARG
ENV REACT_APP_API_URL=$API_URL

WORKDIR /app

COPY package.json .
RUN npm install

COPY . .
RUN npm run build

CMD ["npm", "start"]

Durch die Kombination von ARG und ENV-Variablen kann man bereits während des Build-Prozesses Konfigurationen in den Container integrieren. Dies ist besonders nützlich, wenn bestimmte Werte im Build-Schritt benötigt werden, ohne dass sie später in der Laufzeitumgebung gesetzt werden müssen.

Kommentar schreiben: