下圖中對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導入數據
參考