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
文件。