參考文章
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。
-
使用
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