2017-07-18 6 views
0

Eingabe: - Es ist Windows-Maschine mit Docker Toolbox installiert. - Es gibt eine Shell-Skript-Datei baz.sh, die py2dsc-deb aufruft.Ausführen von Shell-Skript mit Docker Bild

Problem:py2dsc-deb ist unter Windows nicht verfügbar.

Wie ich richtig verstehe, kann ich einige Linux Distro Bild aus Docker Repository ziehen, einen Container erstellen und dann Shell-Skript-Datei ausführen und es wird py2dsc-deb laufen und seine Arbeit machen.

debian - stretch-slim - 3ad21 - 3 weeks ago - 55.3MB 

Jetzt

  1. Wie führe ich mein Skript debian verwenden, so etwas wie:

    Ich habe gezogen docker exec mycontainer /path/to/test.sh?

  2. Laufen docker --rm debian:stretch-slim tut nichts. Nimmt es nicht an, Debian Distro unter docker-machine ip zu betreiben?

  3. habe ich versucht, den Behälter zu halten docker run -it debian:stretch-slim /bin/bash verwenden, dann das Skript ausführen docker exec 1ef5b ./build.sh verwenden, aber immer

$ docker exec 745 ./build.sh rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"./build.sh\": stat ./build.sh: no such file or directory"

Bedeutet es, ich nicht externes Skript ausführen kann und immer passieren es im Docker?

Antwort

1

Sie können Ihre Containername ist test_buildbox, bash Befehl in Ihrem Container ausführen, indem Sie

docker exec -ti -u `username` `container_name` bash -c "cd /path/to/ && ./test.sh" 

können sagen, Sie sind root und Ihr Skript bleibt innerhalb /bin/test.sh Sie können dieses Skript aufrufen, indem

docker exec -ti -u root test_buildbox bash -c "cd /bin/ && ./test.sh 
eingeben
+0

Es ist gut, eine Erklärung zu geben, nicht nur Code. – Boiethios

+0

Ich habe eine Erklärung mit einem Beispiel hinzugefügt –

Verwandte Themen