Ich habe einen Container, der ohne Probleme ausgeführt wird. Ich habe ein Bash-Skript hinzugefügt, um ein paar andere Skripte zu ergänzen, die sich bereits im Container befinden. Das Docker-Image kopiert 2 Skripte nach/usr/local/bin und sie können mit docker exec -c containername existingscript erreicht werden.Skript kann nicht zum vorhandenen Docker-Container hinzugefügt werden
Ich habe mein eigenes Skript in das gleiche Verzeichnis, und wenn Sie den gleichen Befehl ich einen Fehler ausgeführt wird, dass exec nicht das Skript ausführen können: nicht in $ PATH befindet sich keine Datei oder das Verzeichnis, Skript. Ich überprüfe den Pfad und natürlich ist/usr/local/bin aufgelistet. Ich überprüft Berechtigungen und das Skript ist 755.
Ich öffne dann eine interaktive Shell mit Docker exec -it Mycontainer Bash und run/usr/local/bin/meinscript und es läuft ohne Probleme.
Warum kann ich das Skript nicht von außerhalb des Containers ausführen, wie ich die anderen zwei (die im Bild enthalten waren). Alle drei haben fast die gleichen Funktionen am Tag verwenden keine speziellen Programme, man listet Dateien auf, man fügt Dateien hinzu, man liest die Datei.
Die Basis ist Ubuntu.
EDIT: Gefunden, wo ich in der Frage läuft. Hat die Antwort gegeben, falls jemand anders den gleichen Fehler macht.
EDIT-2: So das Skript, das mit dem Docker Bild kam ein paar gemeinsamen Funktionen auszuführen ruft die Bild nicht die Behälter so meine Zugabe des Skripts im Behälter hatten keine Auswirkungen auf dem Skript, das war, warum Ich habe immer den Fehler no file oder directory erhalten.
Die Zeile im Skript in Frage: docker run --rm -v "$(pwd)/config":/path/to/file -ti image_name:latest" mynewscript [email protected]
Natürlich, die gegen das Bild lief und nicht den Behälter.
Einmal habe ich bemerkt, dass ich versuchte es mit exec statt laufen laufen und es lief ohne Fehler, etwa so:
docker exec -it container_name mynewscript
Bitte, können Sie Ihre Docker Datei zeigen? – yashpandey