2017-07-18 167 views
0

輸入: - 安裝了Docker Toolbox的Windows機器。 - 有一個shell腳本文件baz.sh,它調用py2dsc-deb使用Docker運行shell腳本

問題:py2dsc-deb在Windows上不可用。

據我所知,我可以從Docker存儲庫中提取一些Linux發行版鏡像,創建一個容器,然後執行shell腳本文件,它將運行py2dsc-deb並完成其工作。

我已經退出:

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

現在

  1. 如何運行使用debian我的劇本,是這樣的:docker exec mycontainer /path/to/test.sh

  2. 跑步docker --rm debian:stretch-slim什麼都不做。它不是假設在docker-machine ip上運行Debian發行版嗎?

  3. 我試圖保持容器起來使用docker run -it debian:stretch-slim /bin/bash,然後運行使用docker exec 1ef5b ./build.sh腳本,但得到

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

這是否意味着我不能運行外部腳本,並具有總是傳遞它在Docker裏面?

回答

1

您可以通過鍵入

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

可以說你的容器名稱是test_buildbox,你是root和你的腳本保持內部/bin/test.sh您可以通過鍵入

docker exec -ti -u root test_buildbox bash -c "cd /bin/ && ./test.sh 
調用此腳本您的容器內運行bash命令
+0

這是很好的提供一些解釋,而不是代碼只。 – Boiethios

+0

我用一個例子添加了一個解釋 –