Bitte oder Registrieren, um Beiträge und Themen zu erstellen.

Linux Aufgabenblatt: Frage 23 Dockerfile

Hallo Herr Schulmeister-Zimolong,

zu Frage 23: Was bewirkt dieses Dockerfile?

FROM python:3
WORKDIR /usr/src/app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY ./src .
CMD ["python", "app.py"]


Eine von Ihnen erwartete Antwortmöglichkeit ist:

Der Container wird während der Erstellung des Images temporär ausgeführt.

Welchen Container meinen Sie?

Hallo Herr Wessiepe,

 

Gemeint ist ein temporärer Container, der das gerade erstellte Image ausführt. Dieser wird beim Bauen ausgeführt, um die RUN-Anweisungen ausführen zu können.

 

Gruß, Dennis Schulmeister-Zimolong

Hallo Herr Schulmeister-Zimolong,

vielen Dank für Ihre Antwort!

ich habe inzwischen schon selbst etwas mehr über den Build-Prozess gelesen. Aus dem gerade erstellten Image wird m. E. kein Container gestartet. Stattdessen wird zu Beginn des Prozesses ein Container aus dem Basis-Image (FROM-Anweisung) gestartet und in diesem dann die im Dockerfile enthaltenen Anweisungen ausgeführt. Dabei erzeugen RUN, ADD und COPY jeweils neue Schichten, die einzeln abgespeichert werden. Wenn alle Anweisungen des Dockerfile ausgeführt wurden, wird der Zustand des Containers gespeichert. Dieser Zustand stellt dann das neu erzeugte Image dar und wird in der lokalen Registry gespeichert, jedoch nicht instanziiert.

Ich hoffe, ich hab's richtig verstanden. Die Frage im Moodle-Test habe ich jedenfalls in diesem Punkt falsch beantwortet. 😉

Viele Grüße!

Quelle: https://mobi3006.gitbooks.io/pierreinside/content/docker_build.html?q=