CentOS8 使用Docker容器中 SqlServer數據庫 外部鏈接

楔子

工做在win10環境下,使用Docker Windows桌面版容器化SqlServer數據庫鏈接使用(主要是想用Docker),可是同時須要Linux系統測試,win10 下VMware 虛擬機安裝CentOS 與Docker衝突(都是虛擬化技術,該衝突能夠解決,可是切換麻煩略),想到Win10 Linux 子系統發現也是同樣,關鍵Win10 Linux 子系統安裝Docker沒法運行,最後乾脆在CentOS 虛擬機下安裝Docker 而後容器化SqlServer 讓外界訪問使用html

須要步驟(所需工具)

安裝 VMware Workstation 15 Pro(略)

虛擬機安裝 CentOS 8 建議

  • 內存大於2G (sqlserver 須要服務器的內存至少2G)
  • 網絡先設置自動獲取(GUI桌面最好,方便手動設置網絡而不用進入vi修改網絡配置)

Docker 安裝步驟

  1. 下載docker-ce的repo
    curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
  2. 安裝依賴
    yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
  3. 安裝docker-ce
    yum install docker-ceclear
  4. 啓動docker
    systemctl start docker
  5. 查看Docker版本和服務

安裝SqlServer Docker(在Docker服務啓動以後 )

  1. SQlServer Docker 官方指導
  2. 安裝sqlserver
  • 執行 docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=sa帳戶的強密碼' -p 1433:1433 --name=mysqlserver2017 -d mcr.microsoft.com/mssql/server:2017-latest
    這裏會直接pull sqlserver 2017 的鏡像到Docker 而且運行一個name=mysqlserver2017的容器,映射端口爲1433(也就是centOS 中能夠經過localhost:1433訪問該數據庫或者Ip地址)
  • 若是沒有成功或者容器運行幾秒以後中止,緣由多是服務器內存不足2g或者sa密碼太弱了 能夠查看日誌 Docker logs mysqlserver2017
  1. CentOS 中與容器交互 docker exec -it mysqlserver2017 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P <your_password>
  2. 到目前爲止僅CentOs 能夠訪問SqlServer

Windows 訪問CentOS 8 Ip+1433端口

  1. 開放端口 firewall-cmd --zone=public --add-port=1433/tcp --permanent
  2. 重啓防火牆 firewall-cmd --reload
    3.ip addr 查看ip
  3. windows->cmd->telnet 192.168.2.2 1433 成功訪問那麼既可訪問數據庫(若是不成功,關閉防火牆再試systemctl stop firewalld.service)
  4. 使用DataGrip 鏈接並訪問
    mysql

    End---

相關文章
相關標籤/搜索