Docker:在Docker镜像之外启动一个mssql脚本

我一直在试图在我的docker上运行一个MSSQL脚本,它总是失败…是我的语法错了或什么…我已经看了这个post,但它不起作用docker容器上执行SQL脚本

docker exec mssql '/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P gitgood12345 -q </CRE.sql' 

这返回一个错误

 rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:262: starting container process caused "exec: \"/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P ************** -q </CRE.sql\": stat /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P AucMa1633485 -q </CRE.sql: no such file or directory" 

我也尝试过这样的事情…

 sudo docker exec -it mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'gitgood12345' -q </CRE.sql 

该命令返回给我这个错误,我不知道为什么….

 Sqlcmd: '-q': Missing argument. Enter '-?' for help. 

请帮助我…第二种方法用于工作,我想我忘了一个参数或东西…

sqlcmd -q选项需要您想要运行的命令的参数。 就像你的例子是在标准input中inputpipe道命令一样,不要使用-q

 docker exec mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P gitgood12345 < /CRE.sql 

引用容器中的所有结果,试图执行一个名为/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P gitgood12345 -q </CRE.sql不存在的/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P gitgood12345 -q </CRE.sql文件。