参考文章

https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017

 

从 Docker Hub 中拉出 SQL Server 2017 Linux 容器映像。

docker pull microsoft/mssql-server-linux:2017-latest

运行容器映像

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' \
   -p 1433:1433 --name sql1 \
   -d microsoft/mssql-server-linux:2017-latest

连接到 SQL Server

下列步骤在容器内部使用 SQL Server 命令行工具 sqlcmd 来连接 SQL Server。

  1. 使用 docker exec -it 命令在运行的容器内部启动交互式 Bash Shell。 在下面的示例中,sql1 是在创建容器时由 --name 参数指定的名称。

    docker exec -it sql1 "bash"

     

  2 .一旦位于容器内部,使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。 

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourNewStrong!Passw0rd>'

3. 如果成功,应会显示 sqlcmd 命令提示符:1>

 

挂载本地目录“/root/mssql_data”到docker容器中"/opt/mssql_data"

[root@localhost ~]# docker run -d -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=sxjlinc_2012' -p 1433:1433 --name sql1 -v /root/mssql_data:/opt/mssql_data microsoft/mssql-server-linux:2017-latest

开启mssql-server的代理服务

docker exec -it sql1 "bash"

root@b9a09ce17c02:/# /opt/mssql/bin/mssql-conf set sqlagent.enabled true 
SQL Server needs to be restarted in order to apply this setting. Please run
'systemctl restart mssql-server.service'.
root@b9a09ce17c02:/# exit
exit
[root@localhost ~]# 
[root@localhost ~]# docker stop sql1
sql1
[root@localhost ~]# docker start sql1
sql1

 

Logo

更多推荐