Docker docker-ce-18.05.0.ce
SQL Server 2017 Linux
當我們在docker啟動SQL Server 2017容器,嘗試使用sqlcmd連線SQL Server。
1.檢查docker上process執行狀態
command:
sudo docker ps -a
找到一個container id:3a5e5ff26d9d 的SQL Server
[root@localhost ~]# sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a5e5ff26d9d
microsoft/mssql-server-linux:2017-latest "/opt/mssql/bin/sqls…" 2 hours ago Up 4 seconds 0.0.0.0:1433->1433/tcp sqlenterprise
2.在已經安裝好sqlcmd的本機機器進行連線(連線本機的SQL Server in docker)
command:
sqlcmd -S 0.0.0.0,1433 -U sa -P 'Passw0rd@1234'
[oracle@localhost ~]$ sqlcmd -S 0.0.0.0,1433 -U sa -P 'Passw0rd@1234'
1> select @@servername2> go
--------------------------------------------------------------------------------------------------------------------------------
3a5e5ff26d9d
(1 rows affected)
3.嘗試使用docker本身提供的ip進行連線SQL Server
command:
sqlcmd -S 172.17.0.2,1433 -U sa -P 'Passw0rd@1234'
[oracle@localhost ~]$ sqlcmd -S 172.17.0.2,1433 -U sa -P 'Passw0rd@1234'
1> select @@servername2> go
--------------------------------------------------------------------------------------------------------------------------------
3a5e5ff26d9d
(1 rows affected)
1> exit
*因為我們在建立SQL Server容器並沒有提供特定ip,所以SQL Server的ip是docker網卡提供的ip
當時使用的指令如下:
sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Passw0rd@1234' \
-p 1433:1433 --name sql1 \
-d
microsoft/mssql-server-linux:2017-latest