安装方法参照微软官方文档:https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash

这里我将其中的两个安装命令放在这里

docker pull mcr.microsoft.com/mssql/server:2017-latest

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Sql@123456'  -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:2017-latest

当使用docker ps -a命令时,发现容器sqlserver并没有启动起来,之后使用docker logs sqlserver查询日志,日志中提示如下:

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.

经过查阅资料发现,原来在Windows环境下,其中两个参数需要使用双引号,而不是单引号,正确的启动容器命令如下:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Sql@123456"  -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:2017-latest

解决方案地址来源如下:

https://github.com/Microsoft/mssql-docker/issues/20#issuecomment-273783368

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐