在Docker中使用Microsoft SQL Server數據庫


下圖中對SQL Server容器創建及數據庫創建等操作進行了記錄,方便自己日后查看。(文中的 * 僅表示隱藏自己的個人信息,手動馬賽克,哈哈~)

Docker下載可看上一篇博文mac系統,docker下載安裝

(下圖為拉取完畢之后,使用docker ps查看當前運行容器的情況為起始,即沒有將第一步與第二步記錄。有空補上)

圖片存儲在個人相冊中

 

1. 從 Microsoft 容器注冊表拉取 SQL Server 2017 Linux 容器映像。

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

  

2. 使用以下命令運行Docker容器映像

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

這里的 <YourStrong!Passw0rd> 即設置你的數據庫密碼(注意:這里的密碼要符合密碼規則)「默認情況下,密碼必須至少為 8 個字符長,且包含三個以下四種字符集的字符:大寫字母、 小寫字母、 十進制數字和符號」。至少8個字符的密碼數,其中包括大寫/小寫/數字/符號這四種中的三種。

這里的 sql1 即是你給這個容器映像取的名稱

 

3. 查看容器

docker ps -a

 若只看當前運行的容器則只需輸入 docker ps 命令即可

 

4. 進入容器命令

docker exec -it sql1 "bash"

 

5. 在容器內使用使用 sqlcmd 進行本地連接(也可以使用vs Code進行連接數據庫,具體可參考使用vscode創建運行sql腳本 和 使用vscode開發一個項目

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

  

6. 創建數據庫

CREATE DATABASE TestDB
go

  

7. 在數據庫中插入數據

USE TestDB
CREATE TABLE Table1 (id INT, name NVARCHAR(50), quantity INT);
INSERT INTO Table1 VALUES (1, 'banana', 150); INSERT INTO Table1 VALUES (2, 'orange', 154);
go

  

8. 查看數據庫中表的數據命令

select * from table1
go

  

9. 退出容器

exit

  

將項目中所要用到的數據庫拷貝進容器中,再執行sql文件創建數據庫

10. 首先進入本地的sql文件目錄下

cd /Users/y*zi/codeProjects/C***z/scripts/database

 進入到該目錄之后,使用 ls 查看該目錄下所包含的文件

 

11. 拷貝該目錄下的sql文件到指定容器中

docker cp /Users/y*zi/codeProjects/C***z/scripts/database/c****gs.sql wzsql:/home

  

12. 進入容器 docker  exec -it wzsql "bash" , 使用命令執行拷貝到容器中的sql文件

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Ti****30' -i /home/c****gs.sql

  

至此,項目中所需要的數據庫就在docker中創建完成了。mac系統中使用了Azure Data Studio進行連接數據庫,執行sql導入數據

 

 

參考

在Docker中體驗數據庫之Microsoft SQL Server

使用Docker運行SQL Server容器映像


免責聲明!

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



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