无法使用Dockerfile的参数执行shell脚本

我正在创build一个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'被假定为一个或多个命令,但是要执行的命令由另一个参数指定:[–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"] 

你指定的命令将parsing为--file= /opt/...这不是一个有效的命令行。