gpt4 book ai didi

docker - 如何将docker变量传递给jboss-cli.sh?

转载 作者:行者123 更新时间:2023-12-02 19:51:19 25 4
gpt4 key购买 nike

我的jboss cli文件中有一个变量,我们称它为$ {FOO}。

我可以看到该变量是在我的Dockerfile中设置的,如果我:

RUN echo ${FOO}

我看到了打印的值。

我有一个foo.cli文件,其中包含类似于以下内容的行:
/system-property=foo:add(value="${FOO}")

当我运行jboss-cli.sh foo.cli时

我得到:
Cannot resolve expression ${FOO}.

有没有办法将变量从Docker传递到jboss-cli.sh的file参数?

我尝试过在系统属性行中也删除$ {FOO}周围的引号,但是没有运气。

最佳答案

这是由于CLI不会将值与名称一样对待。简而言之,将自动解析操作名称,参数名称,标题名称和值,命令名称以及命令参数名称。参数和参数值不是。要解决此问题,我们需要在resolve-parameter-values中将jboss-cli.xml设置为true。

例如:-

sed -i "s/<resolve-parameter-values>false<\/resolve-parameter-values>/\
<resolve-parameter-values>true<\/resolve-parameter-values>/" \
$JBOSS_HOME/bin/jboss-cli.xml

请注意,以上命令是一次性解决方案。从维护的 Angular 来看,对于XML使用 sed通常不是一个好主意。如果要自动执行此操作,请考虑改用 XPath

注意:-此功能需要WildFly 8.0.0.CR1或更高版本。

关于docker - 如何将docker变量传递给jboss-cli.sh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60527706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com