2017-11-21 1 views
1

Ich lerne Docker. Und ich bekomme nicht wirklich den Überblick über Docker-Volumes. Also habe ich eine einfache Aufgabe für mich, es zu verstehen:Simple Docker Projekt/JPEG verarbeiten und speichern - Volume verwenden?

ich einen Container mit einem Python-Skript erstellen, die eine JPEG

zum Beispiel die Größe:

from PIL import Image 

from resizeimage import resizeimage 


with open('test-image.jpeg', 'r+b') as f: 
    with Image.open(f) as image: 
     cover = resizeimage.resize_cover(image, [200, 100]) 
     cover.save('test-image-cover.jpeg', image.format) 

Wo ich die Eingabedatei setzen Sie ? Soll ich ein Volume oder eine Bind Mount erstellen und die JPEG-Datei dort ablegen?

Im Ausführen von Docker auf einer virtuellen Maschine (Standard Docker Toolbox Installation unter Win 10) Wo finde ich die Größe der Dateien auf den Volumes?

Im Moment ist es mir egal, ob die Datei überschrieben wird, ob die App auf dem Server läuft und zwei Benutzer den Container zur gleichen Zeit benutzen.

Was ist der einfachste Weg für die Eingabe/Verarbeitung/Ausgabe einer Datei mit einem Python-Skript, das in einem Container ausgeführt wird?

Antwort

0

einfachste Weg ist die Verwendung Mengen gegen lokale Pfade:

  • lokalen Pfad/tmp/myfiles
  • Put-Test-Bild in/tmp/myfiles
  • erstellen Stellen Sie sicher, dass Ihr Skript with open('/tmp/myfilesdocker/test-image.jpeg', 'r+b') as f: absoluten Pfad bekommt
  • Laufbehälter docker run -v /tmp/myfiles:/tmp/myfilesdocker python

Es ist die eas iestes Volumen. Ihr lokaler Pfad /tmp/myfiles ist gegen den Container /tmp/myfilesdocker Pfad montiert. Sie können das Bild in der Größe auch in diesem Pfad erstellen.

Einfachster Weg zu Ihrem Hallo Welt Zweck.