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

如何通过docker run将参数传递给Shell脚本

司徒寒
2023-03-14
问题内容

我是docker世界的新手。我必须调用一个通过Docker容器获取命令行参数的shell脚本。例如:我的shell脚本如下所示:

#!bin/bash
echo $1

Dockerfile看起来像这样:

FROM ubuntu:14.04
COPY ./file.sh /
CMD /bin/bash file.sh

我不确定如何在运行容器时传递参数


问题答案:

使用相同 file.sh

#!/bin/bash
echo $1

使用现有的Dockerfile构建映像:

docker build -t test .

使用参数abcxyz其他方式运行映像。

docker run -ti test /file.sh abc

docker run -ti test /file.sh xyz


 类似资料:
  • 问题内容: 我试图运行在运行时调用shell脚本的Java代码。 当我在终端中运行脚本时,我正在将参数传递给脚本 码: Java代码: 如何在Java代码中为脚本传递参数? 问题答案: 在Java的最新版本中创建进程的首选方法是使用类,这使得此操作非常简单: 但是,如果您确实出于某种原因想要/需要使用该方法,则可以使用该方法的重载版本,这些版本允许显式指定参数:

  • 问题内容: 我有一个Linux bash脚本“ myshell”。我希望它读取两个日期作为参数,例如:。我是Java程序员,但不知道如何编写脚本来完成此任务。 脚本的其余部分如下所示: 问题答案: 您在脚本中使用,例如

  • 问题内容: 我有一个名为的MySQL脚本文件,其中包含: 我在MySQL控制台中,如何将参数传递给脚本?这不会转发变量: 问题答案: 您可以使用用户变量来实现您描述的行为。在将变量用作模式标识符而不是数据值时,必须使用准备好的语句,以便可以动态组成查询。 : 调用为

  • 问题内容: 每当网页加载时,我都会调用PHP脚本。但是,PHP脚本需要运行一个参数(在测试脚本时通常会通过命令行传递该参数)。 页面加载时,每次运行脚本时如何传递此参数? 问题答案: 大概是在命令行中按以下方式传递参数: …然后通过脚本访问它们: 通过HTTP传递参数(通过Web访问脚本)时,您需要做的是使用查询字符串并通过$ _GET超全局变量访问它们: 转到http://yourdomain.

  • 我正在尝试从使用自由式詹金斯构建切换到管道项目。 我喜欢它的许多方面,但我希望我可以使用多分支管道,因为它更适合我们公司,但目前这不是一个选择。 我们目前所做的是创建一个名为

  • 问题内容: 我有一个在远程服务器上执行Shell脚本的Hudson作业。 它的shell命令是: 我将此构建标记为已参数化,并添加了一个字符串参数: 当我运行它时,会分配参数,但会将其传递到Shell脚本中。 问题答案: 参数化的Build Jenkins插件文档指出 由参数添加的所有环境变量均为 大写 在您的情况下,这应该起作用: