- Mitglied seit
- 17. Jun 2020
- Beiträge
- 10
- Punkte für Reaktionen
- 4
- Punkte
- 9
Docker ist noch immer eine Welt die ich nicht 100% verstehe und ich werde grad wahnsinnig beim Versuch ein Problem zu verstehen.
Vielleicht ist die Lösung ganz einfach, aber ich drehe mich bei der Suche nach einer Lösung im Kreis. Ich freue mich über jede Hilfe.
Ich habe folgendes Problem:
Ich möchte mithilfe des Docker Container dskaggs/docker-organize:latest Dateien in einem Quell-Verzeichnis (/source) durchsuchen und mithilfe von Regeln verarbeiten lassen. Der Container benennt die Dateien um und verschiebt Sie in die entsprechende Ordnerstruktur in /Dokumente.
Das Problem: Die einsortierten Dateien haben den owner root:root und sind damit ohne ein chown nicht weiter nutzbar.
Was muss ich machen damit die vom Container verarbeiteten Dateien im Host-System dieselben User-Berechtigungen haben wie die Quell Datei oder zumindest der Gruppe users gehören?
Ich starte den Container mit folgendem Befehl:
Ich habe versucht mittels option --user 1044:100 die id's eines Host-Users zu übergeben, doch dann läuft das python Script im Container nicht mit folgender Fehlermeldung:
Die Datei und der Ordner /volume1/docker/organize/config die im Fehler bemängelt werden haben dieselbe User ID die ich beim aufruf übergeben habe.
EDIT: Beim schreiben habe ich mir die Fehlermeldung mal genauer angesehen und das Start-Script wie folgt angepasst:
Dann kommt zumindest die Fehlermeldung nicht mehr aber nach dem start der interaktiven shell habe ich mit ls -ls die Berechtigungen angesehen.
Kann zwar die gemounten Ordner öffnen, aber das wars dann auch. Alles andere im Container ist mit root nicht zugänglich....
Vielleicht ist die Lösung ganz einfach, aber ich drehe mich bei der Suche nach einer Lösung im Kreis. Ich freue mich über jede Hilfe.
Ich habe folgendes Problem:
Ich möchte mithilfe des Docker Container dskaggs/docker-organize:latest Dateien in einem Quell-Verzeichnis (/source) durchsuchen und mithilfe von Regeln verarbeiten lassen. Der Container benennt die Dateien um und verschiebt Sie in die entsprechende Ordnerstruktur in /Dokumente.
Das Problem: Die einsortierten Dateien haben den owner root:root und sind damit ohne ein chown nicht weiter nutzbar.
Was muss ich machen damit die vom Container verarbeiteten Dateien im Host-System dieselben User-Berechtigungen haben wie die Quell Datei oder zumindest der Gruppe users gehören?
Ich starte den Container mit folgendem Befehl:
Bash:
docker run -it --rm --name organize \
-v "/volume1/docker/organize/config":/root/.config/organize/ \
-v "/volume1/docker/organize/log":/var/log/organize/ \
-v "/volume1/Scans":/source \
-v "/volume1/Dokumente":/Dokumente \
dskaggs/docker-organize:latest
Ich habe versucht mittels option --user 1044:100 die id's eines Host-Users zu übergeben, doch dann läuft das python Script im Container nicht mit folgender Fehlermeldung:
Code:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/pathlib.py", line 1284, in mkdir
self._accessor.mkdir(self, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/.config/organize'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/organize", line 5, in <module>
from organize.cli import main
File "/usr/local/lib/python3.8/site-packages/organize/__init__.py", line 28, in <module>
folder.mkdir(parents=True, exist_ok=True)
File "/usr/local/lib/python3.8/pathlib.py", line 1288, in mkdir
self.parent.mkdir(parents=True, exist_ok=True)
File "/usr/local/lib/python3.8/pathlib.py", line 1284, in mkdir
self._accessor.mkdir(self, mode)
PermissionError: [Errno 13] Permission denied: '/.config'
Die Datei und der Ordner /volume1/docker/organize/config die im Fehler bemängelt werden haben dieselbe User ID die ich beim aufruf übergeben habe.
EDIT: Beim schreiben habe ich mir die Fehlermeldung mal genauer angesehen und das Start-Script wie folgt angepasst:
Bash:
docker run -it --rm --name organize-runOne \
--user 1044:100 \
-v "/volume1/docker/organize/config":/.config/organize/ \
-v "/volume1/docker/organize/log":/.cache/organize/ \
-v "/volume1/docker/organize/log":/var/log/organize/ \
-v "/volume1/Scans":/source \
-v "/volume1/Dokumente":/Dokumente \
dskaggs/docker-organize:latest \
"0 * * * *"
Kann zwar die gemounten Ordner öffnen, aber das wars dann auch. Alles andere im Container ist mit root nicht zugänglich....
Code:
I have no name!@98245994a021:/$ ls -ls
total 4
0 drwx------ 1 1044 users 314 Aug 11 09:01 Dokumente
0 drwxr-xr-x 1 root root 880 Aug 27 14:10 bin
0 drwxr-xr-x 1 root root 0 Jul 10 21:04 boot
0 drwxr-xr-x 5 root root 360 Oct 26 21:00 dev
4 -rwxr-xr-x 1 root root 281 Aug 27 14:10 entrypoint.sh
0 drwxr-xr-x 1 root root 1622 Oct 26 21:00 etc
0 drwxr-xr-x 1 root root 0 Jul 10 21:04 home
0 drwxr-xr-x 1 root root 84 Aug 27 14:10 lib
0 drwxr-xr-x 1 root root 40 Aug 3 07:00 lib64
0 drwxr-xr-x 1 root root 0 Aug 3 07:00 media
0 drwxr-xr-x 1 root root 0 Aug 3 07:00 mnt
0 drwxr-xr-x 1 root root 0 Aug 3 07:00 opt
0 dr-xr-xr-x 687 root root 0 Oct 26 21:00 proc
0 drwx------ 1 root root 92 Aug 27 14:11 root
0 drwxr-xr-x 1 root root 26 Aug 27 14:10 run
0 drwxr-xr-x 1 root root 1044 Aug 3 07:00 sbin
0 drwx------ 1 1044 users 524 Oct 26 20:57 source
0 drwxr-xr-x 1 root root 0 Aug 3 07:00 srv
0 dr-xr-xr-x 12 root root 0 Sep 21 17:50 sys
0 drwxrwxrwt 1 root root 0 Aug 27 14:11 tmp
0 drwxr-xr-x 1 root root 70 Aug 3 07:00 usr
0 drwxr-xr-x 1 root root 90 Aug 3 07:00 var
Zuletzt bearbeitet: