2017-07-18 5 views
0

入力: - Docker ToolboxがインストールされたWindowsマシンがあります。 - を呼び出すシェルスクリプトファイルbaz.shがあります。Dockerイメージを使用したシェルスクリプトの実行

問題:py2dsc-debは、Windows上で使用できません。

DockerリポジトリからいくつかのLinuxディストリビューションイメージを取得し、コンテナを作成してシェルスクリプトファイルを実行すると、py2dsc-debが実行され、そのジョブが実行されます。

私が引っ張ってきた:docker exec mycontainer /path/to/test.sh:今

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

  1. は、どのように私は、debianを使用してのようなものを私のスクリプトを実行しますか?

  2. docker --rm debian:stretch-slimは実行されません。 docker-machine ipでDebianディストリビューションを実行するとは思いませんか?

  3. 私はdocker exec 1ef5b ./build.shを使用してスクリプトを実行し、docker run -it debian:stretch-slim /bin/bashを使用してコンテナを維持しようとしましたが、

$ 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"

を得ることは、それは私が外部スクリプトを実行することはできません意味していますし、常に通過しなければなりませんそれはドッカーの中にありますか?

答えて

1

あなたは

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

を入力して、容器内のbashコマンドを実行することができますあなたがrootあり、あなたのコンテナ名がtest_buildboxであると言うことができますし、あなたのスクリプトが/bin/test.sh内に留まるあなたは

docker exec -ti -u root test_buildbox bash -c "cd /bin/ && ./test.sh 
を入力して、このスクリプトを呼び出すことができます
+0

コードだけでなく説明を加えることは良いことです。 – Boiethios

+0

例を挙げて説明を追加しました –

関連する問題