Docker anfängerfragen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
pcace
Beiträge: 231
Registriert: 28.08.2011 01:08:55

Docker anfängerfragen

Beitrag von pcace » 24.05.2021 18:34:38

Hi,

ich versuche grad ein Programm via docker laufen zu lassen, leider komm ich nicht so richtig weiter.
das Docker file sieht so aus:

Code: Alles auswählen

FROM joyzoursky/python-chromedriver:3.8
COPY . /app
WORKDIR /app
RUN export PATH=$PATH:/usr/lib/chromium-browser/
RUN pip install --no-cache-dir -r requirements.txt
VOLUME /config
CMD [ "python3", "-u", "schript.py", "-c", "/config/config.yaml" ]
Was ich hier nicht verstehe ist, dass ja ein Volume angelegt wird (?) welches config heist.

Wenn ich jetzt docker build . mache, und dann docker run xyz, bekomme ich die Fehlermeldung, dass config files unter /config/ fehlen.
Dieses Config ist ja warscheinlich dieses Volume was im Dockerfile angelegt wird.

Wenn ich nun aber docker volume ls ausführe, finde cih nichts was "config" heist.

wo ist der Denkfehler bzw. wo liegt der ordner / das VOlume /config/?

Gruß und Dank

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Docker anfängerfragen

Beitrag von heisenberg » 25.05.2021 08:39:26

Das Verhalten ist verständlich.

Schau mal hier ...

https://docs.docker.com/engine/reference/builder/

... nach, was da zum Volume Command steht.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
shoening
Beiträge: 897
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Docker anfängerfragen

Beitrag von shoening » 25.05.2021 08:56:03

Hi,

mit einem Dockerfile erstellst Du erst mal ein Image. Da läuft dann noch kein Container.
Wenn Du im Dockerfile ein VOLUME angibst, dann wird da nur der entsprechende "Mount Point" im Image erzeugt. (https://docs.docker.com/engine/referenc ... er/#volume). Du musst dann schon dafür sorgen, dass da auch Daten vorhanden sind.

Um dann in das Volume, das Du im Dockerfile deklariert hast, auch Dateien hineinzubekommen, müsstest Du entweder mit --mount oder -v beim docker run die entsprechenden Daten aus einem Verzeichnis Deines Host-Systems oder über ein befülltes Volume zur Verfügung stellen, oder in Deinem Dockerfile auch Daten in das Volume hineinkopieren (so wie es im Dockerfile in der von mir verlinkten Dokumentation gemacht wird.)

Viele Grüße
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Antworten