无法使用来自 Dockerfile 的参数执行 shell 脚本
Unable to execute shell script with parameter from Dockerfile
我正在创建一个 Dockerfile 来自定义一个名为 jboss/wildfly 的图像。我需要执行以下命令:
/opt/jboss/wildfly/bin/jboss-cli.sh --file=/opt/jboss/wildfly/bin/add-datasource.cli
当翻译成 Dockerfile 时,该命令在我的主机上运行良好:
CMD ["/opt/jboss/wildfly/bin/jboss-cli.sh", "--file=","/opt/jboss/wildfly/bin/add-datasource.cli"]
返回以下错误:
'add-datasource.cli' is assumed to be a command(s) but the commands to
execute have been specified by another argument: [--file]
有什么帮助吗?
问题在于您使用的语法。您错误地拆分了 --file=
。您需要:
CMD ["/opt/jboss/wildfly/bin/jboss-cli.sh", "--file=/opt/jboss/wildfly/bin/add-datasource.cli"]
或
CMD ["/opt/jboss/wildfly/bin/jboss-cli.sh", "--file", "/opt/jboss/wildfly/bin/add-datasource.cli"]
您指定的命令将解析为 --file= /opt/...
,这不是有效的命令行。
我正在创建一个 Dockerfile 来自定义一个名为 jboss/wildfly 的图像。我需要执行以下命令:
/opt/jboss/wildfly/bin/jboss-cli.sh --file=/opt/jboss/wildfly/bin/add-datasource.cli
当翻译成 Dockerfile 时,该命令在我的主机上运行良好:
CMD ["/opt/jboss/wildfly/bin/jboss-cli.sh", "--file=","/opt/jboss/wildfly/bin/add-datasource.cli"]
返回以下错误:
'add-datasource.cli' is assumed to be a command(s) but the commands to execute have been specified by another argument: [--file]
有什么帮助吗?
问题在于您使用的语法。您错误地拆分了 --file=
。您需要:
CMD ["/opt/jboss/wildfly/bin/jboss-cli.sh", "--file=/opt/jboss/wildfly/bin/add-datasource.cli"]
或
CMD ["/opt/jboss/wildfly/bin/jboss-cli.sh", "--file", "/opt/jboss/wildfly/bin/add-datasource.cli"]
您指定的命令将解析为 --file= /opt/...
,这不是有效的命令行。