使用Docker镜像运行shell脚本
input: – 有安装了Docker Toolbox的Windows机器。 – 有一个shell脚本文件baz.sh
,它调用py2dsc-deb
。
问题: py2dsc-deb
在Windows上不可用。
据我所知,我可以从Docker存储库中提取一些Linux发行版映像,创build一个容器,然后执行shell脚本文件,它将运行py2dsc-deb
并完成其工作。
我拉:
debian - stretch-slim - 3ad21 - 3 weeks ago - 55.3MB
现在
-
如何使用
debian
运行我的脚本,如:docker exec mycontainer /path/to/test.sh
? -
运行
docker --rm debian:stretch-slim
什么都不做。 不是假设在docker-machine ip
上运行Debian发行版吗? -
我试图用
docker exec 1ef5b ./build.sh
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:启动容器进程导致“exec:\”./ build.sh \“:stat ./ build.sh:没有这样的文件或目录“
这是否意味着我不能运行外部脚本,并且必须始终在Docker中传递它?
你可以通过input在容器中执行bash命令
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