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: