■ 河北科技師范學(xué)院 趙學(xué)作
編者按:Docker是一個基于Linux 64bit的開源的應(yīng)用容器引擎,開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機器上來實現(xiàn)虛擬化。Docker不依賴于任何語言、框架或包括系統(tǒng)。
一般來講,SQL Server運行在Windows平臺上,而利用Docker可以在Linux系統(tǒng)中搭建SQL Server數(shù)據(jù)庫環(huán)境,下面以Centos 7為例說明搭建過程。
1.把yum包更新到最新yum update
2.安裝需要的軟件包,yum-util 提供yum-configmanager功能,另外兩個是devicemapper驅(qū)動依賴的。
yum install -y yumutils device-mapperpersistent-data lvm2
3.設(shè)置yum源
yum-config-manager--add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.可以查看所有倉庫中所有docker版本,并選擇特定版本安裝
yum list docker-ce--showduplicates | sort-r
5. 安裝Docker,命 令 :yum install docker-ce-版本號,我選的是 17.12.1.ce,如下
yum install dockerce-17.12.1.ce
6.啟動Docker,命令:systemctl start docker,然后加入開機啟動
systemctl start docker
systemctl enable docker
7.驗證安裝是否成功
有client和service兩部分表示docker安裝啟動都成功。命令為: docker version
1.從Docker Hub中拉出SQL Server 2017 Linux容器映像
docker pull microsoft/mssql-serverlinux:2017-latest
2.顯示所有可用的鏡像
docker images
3.運行一個鏡像,也就相當(dāng)于使用已有的鏡像創(chuàng)建一個實例
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_P ASSWORD=MSSQL_SA_PASSWOR D' -p 1444:1433 -v /var/opt/mssql --name sql1 -d microsoft/mssqlserver-linux:2017-latest
其中,ACCEPT_EULA=Y的意思是同意許可協(xié)議,必選;MSSQL_SA_PASSWORD為密碼,最少8位強密碼,要有大小寫字母,數(shù)字以及特殊符號。
-p1401:1433 綁定端口,其中1401是主機的端口,1433是docker內(nèi)部SQL server的端口,我們使用1444端口的時候會自動映射到docker內(nèi)部的1433端口。
--name sql1 指定實例名,sql1即為自定義的實例名。如:
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=QHDedu@1357'-p 1444:1433 -v /var/opt/mssql --name sql1 -d microsoft/mssql-serverlinux:2017-latest
附幾個常用命令:
docker ps -a 查看所有容器的狀態(tài)
docker start/stop id/name 啟動/停止某個容器
docker attach id 進入某個容器
docker exec -ti id 啟動一個偽終端以交互式的方式進入某個容器
docker images 查看本地鏡像
docker rm id/name 刪除某個容器
在Centos 7中我們可以使用sqlcdm進行連接。
先下載yum的repo,然后安裝sqlcdm
wget https://packages.microsoft.com/config/rhel/7/prod.repo
mv prod.repo /etc/yum.repos.d/
yum makecache
yum install mssqltools
安裝完成后,即可進行連接,連接命令格式:
/opt/mssql-tools/bin/sqlcmd -S localhost,端口 -Usa -密碼
如:/opt/mssql-tools/b in/sqlcmd -S localhost,1 444 -Usa -PQHDedu@1357
運行連接命令后,即可出現(xiàn)>提示符,即表示連接成功。
我們可以運行SQL命令:
1> SELECT name from sys.databases
2> GO
即可顯示命令運行結(jié)果。
填寫連接參數(shù)即可進行正常連接。一定要注意服務(wù)器名稱,寫入的IP地址后面一定要加入端口號,如1401,而且端口號與IP地址間必須用英文逗號隔開。