官方sql2017 linux镜像,其中运行docker 命令时出错:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -e 'MSSQL_PID=Express' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest-ubuntu
1
dockerrun-e'ACCEPT_EULA=Y'-e'SA_PASSWORD=yourStrong(!)Password'-e'MSSQL_PID=Express'-p1433:1433-dmcr.microsoft.com/mssql/server:2017-latest-ubuntu
The SQL Server End-User License Agreement (EULA) must be accepted before SQL
Server can start. The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746388.
You can accept the EULA by specifying the --accept-eula command line option,
setting the ACCEPT_EULA environment variable, or using the mssql-conf tool.
正确应使用双引号:
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Pass@word" -e "MSSQL_PID=Express" -p 14330:1433 --name sql2017 -d mcr.microsoft.com/mssql/server:2017-latest-ubuntu
然后可以执行:sqlcmd或sql server管理工具连接,注意默认端口已经改变为14330
powershell:
sqlcmd -S localhost,14330 -U SA -P ""
bash:
sqlcmd -S localhost,14330 -U SA -P ''
连接成功会提示:
1>
当然这样可直接输入sql
1>create database studentdb
2>go
sqlcmd查询所有数据库:
1>select * from sysdatabases
2>go
sqlcmd查询指定数据库所有数据表:
1>use studb
2>go
3>select * from sysobjects where xtype='u'
4>go
sqlcmd查询指定数据库指定表中所有字段:
1> use studb
2>select name from syscolumns where id=object_Id('student')
2>go