docker 安裝sqlserver + 踩坑(docker 無法運行sqlserver 容器)


  本文介紹如何在docker 中使用sqlserver鏡像,運行sqlserver 容器,並在容器外部訪問sqlserver 數據庫。本文演示得docker,為windows dockers desktop。

一、查找鏡像

  在 docker hub(https://hub.docker.com/_/microsoft-mssql-server) 上找到sqlserver 鏡像。

 

 

二、拉取鏡像:

   powershell 鼠標右鍵 以管理員身份運行,輸入 官網給出的命令: docker pull mcr.microsoft.com/mssql/server:2017-latest

 

 

 

三、運行sqlserver 數據庫容器

運行如下命令,開啟容器:docker run  -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Fyy@12345678" -p 1433:1433  --memory 2000M --name sqlserver -d mcr.microsoft.com/mssql/server:2017-latest

 

 

其中,有幾個坑點:不處理這些坑點,會導致你的 sqlserver 容器不能正常運行。

                                 1."ACCEPT_EULA=Y"  和 "SA_PASSWORD=Fyy@12345678" : windows docker,這里必須是雙引號。

                                  2."SA_PASSWORD=Fyy@12345678"  密碼復雜度,要有大小寫、特殊符號 和 數字

                                  3. --memory 2000M:sqlserver 的容器運行時,內存要>=2000MB,因此,要指定 容器運行時內存。否則容器已啟動就推出,且不會有任何異常信息。

當容器不能啟動,或者啟動就退出時,可以 用命令 docker logs <container> 查看日志,根據日志信息解決問題(<container> 為需要操作的 容器ID或者 name,后面不再說明)。

 

 

四、訪問數據庫:

   數據庫容器運行后,就可以在容器外,通過ssms 訪問數據庫。

1.  根據 docker inspect <container>  命令查看sqlserver容器的網絡,其中<container> 代表要操作的容器,可以是容器的name 或者ID。

 

 

 

2.容器外 ssms連接數據庫:填入容器IP,以及啟動容器時設置的賬號密碼 登錄容器數據庫。

 

參考:https://hub.docker.com/_/microsoft-mssql-server

https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-configure-environment-variables?view=sql-server-linux-2017#use-with-docker

有疑問,可在這里提issue,有人解答:https://github.com/microsoft/mssql-docker/issues

數據庫容器掛載及其他命令,可參考:https://www.cnblogs.com/hulizhong/p/11271739.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM