Grundlagen von Cloud und Containern
FROM python:slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]Welche Kombination gibt für das obige Dockerfile richtig an, welcher Befehl beim Bauen des Images mit docker build und welcher beim Starten eines Containers mit docker run ausgeführt wird?
- ABeim build: pip install; beim run: python app.py
- BBeim build: pip install und python app.py; beim run: python app.py
- CBeim build: nichts; beim run: pip install und python app.py
Antwort und Erläuterung anzeigen
Antwort: A. Beim build: pip install; beim run: python app.py
RUN führt einen Befehl beim Bauen des Images aus und speichert das Ergebnis (hier die installierten Bibliotheken) als neue Schicht im Image. CMD legt nur als Teil der Image-Konfiguration den Standardbefehl fest, der beim Start eines Containers ausgeführt wird; beim Build wird er nicht ausgeführt. Die Bibliotheken werden daher einmal beim Build installiert, und python app.py läuft bei jedem Start eines Containers. Steht in docker run hinter dem Imagenamen ein Befehl, ersetzt er den Inhalt von CMD.
Weiter: 9 weitere Fragen zu Grundlagen von Cloud und Containern