Docker 安裝部署Sql Server


前言

  在如今,容器化概念越來越盛行,.Net Core項目也可以跨平台部署了,那么思考下Sql Server能不能呢?當然是可以的啦。本文今天就是介紹Docker部署配置和連接Sql Server。本文基於Centos7

配置Docker鏈接Sql Server

  前提條件(至少2 GB的磁盤空間。至少2 GBRAM)。我們現在開始配置安裝:

  查詢並找到Docker Hub 上Microsoft SQL Server的介紹。

       

 

  然后根據這個上docker拉取鏡像

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

  查看鏡像並允許此鏡像

docker images
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=MyPassWord123"  -p 1433:1433 --name sql1  -d mcr.microsoft.com/mssql/server:2017-latest

 

  然后查看是否允許成功

Docker ps -a

 

  出現下圖這樣既允許成功,顯示UP(如果失敗的話通過docker logs 容器名進行查看錯誤日志)

 

 

  然后這里我們就配置了SQL Server,接下來我們實際進入容器內操作。

sudo docker exec -it sql1 "bash"

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "MyPassWord123"

  然后現在就可以進行日常的數據庫操作了,輸入命令后執行Go結束

 

 

    創建庫

CREATE DATABASE TestDB

 

    使用庫、創建表

USE TestDB

CREATE TABLE Inventory (id INT, LastName NVARCHAR(50), FirstName NVARCHAR(50))

 

    查詢表

Select * from  Inventory

 

    查詢用戶創建的表

select name from sysobjects where type = 'U'

 

 

  系統表sysobjects保存的都是數據庫對象,其中type表示各種對象的類型,具體包括:

  U = 用戶表

  S = 系統表

  C = CHECK 約束

  D = 默認值或 DEFAULT 約束

  F = FOREIGN KEY 約束

  L = 日志

  FN = 標量函數

  IF = 內嵌表函數

  P = 存儲過程

  PK = PRIMARY KEY 約束(類型是 K

  RF = 復制篩選存儲過程

  TF = 表函數

  TR = 觸發器

  UQ = UNIQUE 約束(類型是 K

  V = 視圖

  X = 擴展存儲過程及相關的對象信息。

 

  

其他配置

  一、更改sa的登錄密碼

sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd  -S localhost -U SA -P "MyPassWord123"  -Q 'ALTER LOGIN SA WITH PASSWORD="MyPassWord456"'

 

  二、保留數據

    • 將主機目錄裝載為數據卷
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=MyPassWord456' -p 1433:1433 -v  /var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest

 

    •  使用數據卷容器
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=MyPassWord456' -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest

 

  三、刪除或退出容器

     刪除容器:docker rm 容器名

    刪除鏡像:docker rmi 鏡像名

    退出容器;Ctrl+D

 


 

    夫志當存高遠,慕先賢,絕情欲,棄疑滯,使庶幾之志,揭然有所存,惻然有所感;忍屈伸,去細碎,廣咨問,除嫌吝,雖有淹留,何損於美趣,何患於不濟。

    若志不強毅,意不慷慨,徒碌碌滯於俗,默默束於情,永竄伏於平庸,不免於下流矣。

 歡迎大家掃描下方二維碼,和我一起學習更多的C#知識  

   


免責聲明!

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



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