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

时间:2015-10-11 14:29:03

标签: docker 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"]

返回以下错误:

  

'附加datasource.cli'假设是一个命令,但命令是   execute已由另一个参数指定:[ - file]

任何帮助?

1 个答案:

答案 0 :(得分:1)

问题在于您正在使用的语法。您错误地拆分了--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/...,它不是有效的命令行。