Python Docker Dateien speichern - Bind/Mount/Volume/Share Problem

arminf82

Benutzer
Mitglied seit
02. Feb 2021
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Guten Morgen,

ich habe einen Docker Contrainer eine Dateie in einem SharedFolder (/volume1/docker/storeText) speichern soll. Auf meinem Lokalen PC funktioniert es. Lokal starte ich den Container und die Datei wird im gewünschten Ort gespeichert. Auf meiner NAS läuft der Container, was ich am Log sehe, aber die Datei wird nicht in dem gemappten Ordner gespeichert. Was mache ich falsch?

Dockerfile
FROM python:3
WORKDIR /wd
COPY savetext.py ./
CMD ["python3","savetext.py"]

savetext.py
print("Script Start.")
import os
file = open("textDatei.txt","a")
file.writelines("Inhalt von Datei.")
file.close()
print("Script Ende.")

Docker Image erstellen auf Lokaler Maschine:
docker build -t saveText .

Container auf lokalem Ubuntu laufen lassen:
docker run -v ${PWD}:/wd saveText

Die Datei textDatei.txt wird auf meinem lokalen Ubuntu in dem Pfad geschrieben, in dem ich gerade bin.


Auf meiner Synology NAS
Docker 18.09.0-0513 + Portainer
habe ich unterschiedliche Varianten probiert, die aber nicht zum Erfolg geführt haben.

Env:
PUID:xxxx, PGID:yyyy

Über die DSM Docker GUI:
Volume

File/Folder: /volume1/docker/storeText # PUID:xxxx ist Owner von dem Ordner und hat volle Rechte auf das Docker Share.
Mount path: /wd
Type: rw

Bind/Mount über die ENV:
-v source=/volume1/docker/storeText,target=/wd,type=bind

Gleiches habe ich in Portainer probiert, was auch nicht funktioniert.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.528
Punkte für Reaktionen
416
Punkte
103
Öhm, im Dockerfile kopierst Du savetext.py nach /wd, um das Verzeichnis dann beim Starten des Containers mit einem bind zu ersetzen... Sprich der original Inhalt des Verzeichnis /wd wird verdeckt durch den Inhalt von /volume1/docker/storeText.

Damit PUID und PGID etwas bringen, muss Du ein Entrypointskript basteln, was damit auch etwas tut... So sind es einfach nur Variablen im Container die von nichts verwendet wird.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat