我的主机上有shell脚本。我已经安装了具有meteord图像的docker容器。我已经运行了,但是我想在meteord docker image中执行这个shell脚本。这可能吗?
答案 0 :(得分:0)
是。这是可能的,但您必须按如下方式复制容器中的脚本:
docker cp <script> <container-name/id>:<path>
docker exec <container-name/id> <path>/<script>
例如:
docker cp script.sh silly_nightingale:/root
docker exec silly_nightingale /root/script.sh
确保脚本具有可执行权限。此外,您可以在Dockerfile
的构建时复制脚本,然后使用exec
运行它。
<强>更新强>
您也可以尝试docker volume
,如下所示:
docker run -d -v /absolute/path/to/script/dir:/path/in/container <IMAGE>
现在运行脚本如下:
docker exec -it <Container-name> bash /path/in/container/script.sh
之后,您将能够在主机上的/absolute/path/to/script/dir
中看到生成的文件。此外,请确保在脚本和命令中使用绝对路径以避免重定向问题。我希望它有所帮助。