Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将固定参数添加到docker入口点中的命令参数_Linux_Bash_Docker_Terminal - Fatal编程技术网

Linux 将固定参数添加到docker入口点中的命令参数

Linux 将固定参数添加到docker入口点中的命令参数,linux,bash,docker,terminal,Linux,Bash,Docker,Terminal,我想向docker entrypoint s.t.中的命令添加一个固定参数。该命令的执行方式如下: 命令用户\u arg1已修复\u arg用户\u arg2 以linux终端为例,而不是运行: 回声arg1 arg2 我想跑: arg1 arg2 这样,运行的最终命令是: 回显arg1已修复_arg arg2 有没有一种方法可以使用基本的命令行工具来实现这一点,而不是编写bash脚本?dockerfile中的RUN命令应该可以工作,例如 RUN /bin/bash -c 'source $HO

我想向docker entrypoint s.t.中的命令添加一个固定参数。该命令的执行方式如下:

命令用户\u arg1已修复\u arg用户\u arg2

以linux终端为例,而不是运行:

回声arg1 arg2

我想跑:

arg1 arg2

这样,运行的最终命令是:

回显arg1已修复_arg arg2

有没有一种方法可以使用基本的命令行工具来实现这一点,而不是编写bash脚本?

dockerfile中的RUN命令应该可以工作,例如

RUN /bin/bash -c 'source $HOME/.bashrc; \
echo $HOME'
docker文档中的更多信息,

如果要将固定参数包含在命令的中间,则必须使用脚本。不过,您不需要bash扩展,即使在BusyBox或alpelinux中使用基本的posixshell,也可以实现这一点

!/垃圾箱/垃圾箱 first=$1保存第一个选项 shift将其从选项列表中删除 现在$@是除第一个选项之外的所有选项 执行_命令$first some_arg$@ 在Docker入口点的上下文中,它将作为选项传递整个CMD或Docker run command部分或Compose command:as,因此您可以根据命令的实际内容设置此条件

!/垃圾箱/垃圾箱 每箱1元 (国际)部队司令部 第一名=2美元 班次2 执行_命令$first some_arg$@ ;; * 执行官$@ ;; 以撒 Docker在本地做的唯一一件事是;无法重新排列选项或以其他方式操纵它们。我发现一个有用的模式是,CMD是您想要运行的实际命令,ENTRYPOINT是最终运行它的脚本。这可以根据需要操纵命令字符串,包括选择完全忽略它或更改运行的实际命令