2017-12-03 2 views
1

nicht bearbeiten Ich bin neu in Docker und ich habe docker Bild PredictionIO gezogen, ich muss eine Datei darin bearbeiten und neu ausführen, aber ich kann nicht. Docker-Bild ist auch nicht in meinen Verzeichnissen. Wie kann ich das Bild auf meinem Host speichern und bearbeiten?Kann Docker Bilder Datei in Host

verwende ich Ubuntu 17.04

danke :)

Antwort

2

Es gibt drei Ansätze, um Ihr Problem:

  1. die Dockerfile bekommen und es bearbeiten, dann baut das Bild selbst.
  2. Führen Sie einen Container aus dem gezogenen Bild aus.

    Dann docker exec -it hinein und machen Sie Ihre Änderungen.

    Danach docker commit <container id> repository/imagename:tag verwenden.

  3. Verwenden Sie Bind Mounts, um die Datei einem Host-Verzeichnis zuzuordnen und die Datei zu bearbeiten. Auf diese Weise müssen Sie das Bild nicht einmal ändern.

    Um dies zu tun, müssen Sie die Halterung spezifizieren, wenn der Behälter zu schaffen:

    mkdir /path/to/host/config/folder 
    

    erstellen Sie die gewünschte Datei (en) und dann den Container erstellen:

    docker run -d --name mycontainer -v /path/to/host/config/folder:/path/to/container/config/folder/ <repository>/<image>:<tag> <command> 
    

    Bitte beachten der -v Schalter. Wenn Sie danach in den Container wechseln und zu /path/to/container/config/folder/ navigieren, sehen Sie den Inhalt der /path/to/container/config/folder/.

+0

Ich bevorzuge die Verwendung von 3, wie kann ich das tun? – Mahshid

+0

@Mahshid Siehe die bearbeitete Antwort. –

+0

Ich denke, es sollte auch ein Bildname im Befehl sein, weil ich diesen Fehler bekomme => "Docker Run" erfordert mindestens 1 Argument. – Mahshid

Verwandte Themen