当前位置: 首页 > 面试题库 >

如何从Docker容器在主机上运行Shell脚本?

唐修明
2023-03-14
问题内容

如何从Docker容器控制主机?

例如,如何执行复制到主机的bash脚本?


问题答案:

那真的取决于您需要该bash脚本执行的操作!

例如,如果bash脚本仅回显某些输出,则可以执行

docker run --rm -v $(pwd)/mybashscript.sh:/mybashscript.sh ubuntu bash /mybashscript.sh

另一种可能性是您希望bash脚本安装某些软件-例如要安装docker-compose的脚本。你可以做类似的事情

docker run --rm -v /usr/bin:/usr/bin --privileged -v $(pwd)/mybashscript.sh:/mybashscript.sh ubuntu bash /mybashscript.sh

但是,此时,您真的必须深入了解脚本在做什么,以允许容器从容器内部对其主机授予特定权限。



 类似资料:
  • 如何从docker容器控制主机? 例如,如何执行复制到主机的bash脚本?

  • 我在用“docker外面的docker”和jenkins运行一个容器。我的docker是: 所以所有从“jenkins容器”启动的容器都在主机中运行。 但是,当我试图在需要卷的作业中运行“jenkins容器”中的docker compose时,它采用的是来自主机的路径,而不是jenkins的路径。我是说,当我和docker合作时 它安装在主机的/var/jenkins_home/workspace

  • 问题内容: 我正在尝试创建用于设置Docker容器的Shell脚本。我的脚本文件如下所示: 运行此脚本文件将在新调用的bash中运行容器。 现在,我需要运行一个脚本文件(test.sh),该文件已经位于上述给定的shell脚本的容器内(例如:cd /path/to/test.sh && ./test.sh),该怎么做? 问题答案: 您可以使用以下命令在正在运行的容器中运行命令: 并从bash会话运

  • 我试图在docker容器中使用docker compose来运行shell脚本。我正在使用Dockerfile构建容器环境并安装所有依赖项。然后我将所有项目文件复制到容器中。据我所知,这很有效。(我对docker还是相当陌生的,docker撰写) 我的Dockerfile: 我目前正在尝试的是: docker编写文件: 这导致容器无法启动,从日志中我得到以下结果: 有关更多参考和信息,请参阅我的e

  • 我们有一个gitlab-ci运行器,它托管在服务器a下运行的docker容器上。现在,我们希望将gitlab-ci运行器配置为一个容器,以便在主机上执行命令。 我们尝试使用下面的命令将运行器注册为“shell”执行器,但它仍然试图只访问gitlab-ci运行器容器中的shell,而不是主机服务器shell。 sudo gitlab-runner注册 --非交互式 --URL“https://git

  • 问题内容: 感谢您收看这个问题。 所以我的问题与如何在docker-compose up指令上运行脚本的最佳实践有关。 目前,我正在主机和容器之间共享一个卷,以使脚本更改对主机和容器均可见。与监视脚本轮询配置文件中的更改类似。 该脚本必须根据预定义规则对主机进行更改。 所以我的问题是: 我如何才能在docker-compose up指令上甚至从服务的dockerfile上启动此脚本,以便每当容器启