env: CentOS 7
Docker docker-ce-18.05.0.ce
SQL Server 2017 for Linux
Docker docker-ce-18.05.0.ce
SQL Server 2017 for Linux
Docker可以視為一種虛擬器,而使用的image很像以前使用過的Live光碟,只要放入光碟機啟動後,就是一個可以立即使用的作業系統。缺點是重新掛載就是回復到原本預設狀態。
這次要使用到volume的參數把docker image啟動後的狀態保存下來。
1.執行docker指令掛載SQL Server 2017 image
增加參數"-v",指定存放路徑"/dockervol"
command:
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Passw0rd@1234'
-p 1433:1433 -v /dockervol:/var/opt/mssql -d
microsoft/mssql-server-linux:2017-latest
[root@localhost
~]# docker run -e 'ACCEPT_EULA=Y' -e
'MSSQL_SA_PASSWORD=Passw0rd@1234' -p 1433:1433 -v /dockervol:/var/opt/mssql -d
microsoft/mssql-server-linux:2017-latest
cf7ccddde4fd629f2d1e4e4c58ca071127d5bfd5f3b5f31ed0c2ca467b25489f
[root@localhost
~]# docker container ps -a
CONTAINER
ID IMAGE
COMMAND
CREATED STATUS PORTS NAMES
cf7ccddde4fd
microsoft/mssql-server-linux:2017-latest "/opt/mssql/bin/sqls…" 5 minutes ago Up 5 minutes
0.0.0.0:1433->1433/tcp
infallible_rosalind
2.檢查存放路徑下的內容
可以發現到SQL Server的系統資料庫已經存放到"/dockervol/data"
[root@localhost
/]# ls
bin dev
etc lib media
opt root sbin
sys usr
boot dockervol
home lib64 mnt
proc run srv
tmp var
[root@localhost
/]# cd dockervol/
[root@localhost
dockervol]# ls
data log
secrets
[root@localhost
dockervol]# cd data
[root@localhost
data]# ls
master.mdf modellog.ldf
msdbdata.mdf tempdb.mdf
mastlog.ldf model.mdf
msdblog.ldf templog.ldf
[root@localhost
data]# pwd
/dockervol/data
[root@localhost
data]#
3.我們利用sqlcmd在本機做連線查詢驗證
[root@localhost
~]# sqlcmd -S 0.0.0.0,1433 -U sa -P 'Passw0rd@1234'
1>
select @@servername
2>
go
--------------------------------------------------------------------------------------------------------------------------------
cf7ccddde4fd
(1
rows affected)
[root@localhost
~]# sqlcmd -S 100.168.1.202,1433 -U sa -P
'Passw0rd@1234'
1>
exit
[root@localhost ~]#
4.再利用SSMS從遠端主機做連線查詢
6.嘗試用sqlcmd建立測試DB: dbvolume
可以看到新的data file存放在路徑"/dockervol/data"
[root@localhost
~]# sqlcmd -S 0.0.0.0,1433 -U sa -P 'Passw0rd@1234'
1>
create database dbvolume
2>
go
1>
[root@localhost
data]# ls -ltr
total
54976
-rw-r-----.
1 root root 8388608 Jul 6 11:20 tempdb.mdf
-rw-r-----.
1 root root 4653056 Jul 6 11:31 master.mdf
-rw-r-----.
1 root root 8388608 Jul 6 11:38 model.mdf
-rw-r-----.
1 root root 8388608 Jul 6 11:38 modellog.ldf
-rw-r-----.
1 root root 524288 Jul 6 11:56 msdblog.ldf
-rw-r-----.
1 root root 15466496 Jul 6 11:56
msdbdata.mdf
-rw-r-----.
1 root root 8388608 Jul 6 12:06 templog.ldf
-rw-r-----.
1 root root 2097152 Jul 6 12:09 mastlog.ldf
[root@localhost
data]# ls -ltr
total
71360
-rw-r-----.
1 root root 8388608 Jul 6 11:20 tempdb.mdf
-rw-r-----.
1 root root 4653056 Jul 6 11:31 master.mdf
-rw-r-----.
1 root root 524288 Jul 6 11:56 msdblog.ldf
-rw-r-----.
1 root root 15466496 Jul 6 11:56
msdbdata.mdf
-rw-r-----.
1 root root 8388608 Jul 6 12:06 templog.ldf
-rw-r-----.
1 root root 8388608 Jul 6 12:14 model.mdf
-rw-r-----.
1 root root 8388608 Jul 6 12:14 modellog.ldf
-rw-r-----.
1 root root 8388608 Jul 6 12:14 dbvolume.mdf
-rw-r-----.
1 root root 2097152 Jul 6 12:14 mastlog.ldf
-rw-r-----.
1 root root 8388608 Jul 6 12:14 dbvolume_log.ldf
[root@localhost
data]#
沒有留言:
張貼留言