使用 shell 脚本在 docker 容器中运行脚本

新手上路,请多包涵

我正在尝试创建一个用于设置 docker 容器的 shell 脚本。我的脚本文件如下所示:

 #!bin/bash

docker run -t -i -p 5902:5902 --name "mycontainer" --privileged myImage:new /bin/bash

运行此脚本文件将在新调用的 bash 中运行容器。

现在我需要运行一个脚本文件(test.sh),它已经在上面给定的shell脚本的容器内。(例如:cd /path/to/test.sh && ./test.sh) 怎么做?

原文由 zappy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答

您可以使用 docker exec [OPTIONS] CONTAINER COMMAND [ARG...] 在正在运行的容器中运行命令:

 docker exec mycontainer /path/to/test.sh

并从 bash 会话运行:

 docker exec -it mycontainer /bin/bash

从那里你可以运行你的脚本。

原文由 Javier Cortejoso 发布,翻译遵循 CC BY-SA 4.0 许可协议

假设您的 docker 容器已启动并正在运行,您可以运行以下命令:

 docker exec mycontainer /bin/sh -c "cmd1;cmd2;...;cmdn"

原文由 Raghwendra Singh 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题