无法使用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/...
这不是一个有效的命令行。