最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 部署 Microsoft SQL Server 完全指南

 更新時間:2025年08月23日 15:09:46   作者:FC_nian  
本文詳細介紹如何使用Docker快速部署Microsoft SQL Server,提供兩種主流方式,兩種方式都包含了數(shù)據(jù)持久化、資源限制等生產(chǎn)環(huán)境所需的配置,并提供了詳細的參數(shù)說明和常見問題解決方法,感興趣的朋友跟隨小編一起看看吧

部署方案對比

特性Docker 命令行方式Docker Compose 方式
適用場景快速測試、簡單部署、臨時使用正式部署、復雜應用、多環(huán)境配置、需要版本控制
配置管理單行命令,難以復用聲明式 YAML 文件,易于管理和版本控制
持久化需手動指定主機絕對路徑支持命名卷和相對路徑,管理更方便
安全性密碼在命令歷史中可見可通過 .env 文件隔離敏感信息
管理復雜度簡單需要編寫 YAML 文件
擴展性較差極佳,可輕松定義多服務應用

一、Docker 命令行方式

這種方式直接使用 docker run 命令,適合快速測試和簡單部署

1. 拉取官方鏡像

從 Microsoft Container Registry 拉取 SQL Server 2022 的最新 Linux 鏡像

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

  • 注意:如需其他版本(如 2019),將標簽改為 :2019-latest

2. 創(chuàng)建本地數(shù)據(jù)目錄(用于持久化)

為了避免容器刪除后數(shù)據(jù)丟失,需要在宿主機上創(chuàng)建一個目錄來映射容器內(nèi)的數(shù)據(jù)存儲位置

mkdir -p /usr/local/docker/sqlserver/data

3. 運行容器命令(最關鍵的步驟)

docker run -d \
    --name sql-server \
    -e "ACCEPT_EULA=Y" \
    -e "MSSQL_SA_PASSWORD=sqlserver@7740" \
    -e "MSSQL_PID=Developer" \
    -p 1433:1433 \
    -v /usr/local/docker/sqlserver/data:/var/opt/mssql \
    --memory="4g" \
    --restart unless-stopped \
    --user root \
    mcr.microsoft.com/mssql/server:2019-latest

3.1 參數(shù)說明表

參數(shù)說明必要性
-d后臺運行容器(守護模式)可選
--name sql-server指定容器名稱可選
-e "ACCEPT_EULA=Y"接受最終用戶許可協(xié)議必須
-e "MSSQL_SA_PASSWORD=..."設置sa用戶密碼(需符合復雜度要求)必須
-e "MSSQL_PID=Developer"指定版本(Developer/Express/Standard/Enterprise)可選
-p 1433:1433端口映射(主機端口:容器端口)必須
-v /host/path:/var/opt/mssql數(shù)據(jù)持久化掛載(主機路徑:容器路徑)推薦
--memory="4g"限制容器最大內(nèi)存使用推薦
--restart unless-stopped設置自動重啟策略(除非手動停止)推薦

3.2 密碼復雜度要求

  • 長度至少8個字符
  • 包含以下字符類型中的至少三種:
    • 大寫字母(A-Z)
    • 小寫字母(a-z)
    • 數(shù)字(0-9)
    • 特殊符號(如!@#$%^&*)

4. 檢查容器狀態(tài)

運行后,使用以下命令查看容器是否成功啟動:

docker ps

  • 如果狀態(tài)(STATUS)顯示為 Up ...,則表示運行成功。如果顯示為 Exited,說明啟動失敗,需要查看日志

5. 查看日志以排查問題

錯誤示例

docker logs sql-server
  • 常見啟動失敗原因:
    1. 密碼不符合復雜性要求
    2. 沒有設置 ACCEPT_EULA=Y
    3. 宿主機端口已被占用(更改 -p 參數(shù)即可)
    4. 配置的掛載目錄沒有訪問權限
      sudo chmod -R 777 /usr/local/docker/sqlserver/data

6. 連接測試

容器運行后,你可以使用任何客戶端工具連接

  • 服務器: ip
  • 身份驗證: SQL Server 身份驗證
  • 登錄名: sa
  • 密碼: 你在 MSSQL_SA_PASSWORD 中設置的密碼
  • 端口: 如果你映射的是 1433,直接使用即可

常用管理命令:

*  停止容器: docker stop sql-server
*  啟動容器: docker start sql-server
*  重啟容器: docker restart sql-server
*  進入容器內(nèi)部bash: docker exec -it sql-server bash
*  刪除容器 (?? **會丟失未持久化的數(shù)據(jù)**): docker rm -f sql-server

二、Docker Compose 方式

這種方式使用一個 docker-compose.yml 文件來聲明所有配置,更清晰、易于版本控制和復用,特別適合復雜應用和多環(huán)境部署

1. 創(chuàng)建項目目錄和文件

cd /usr/local
sudo mkdir -p /docker/sql-server && cd /docker/sql-server
mkdir data && sudo chmod -R 777 data

2. 創(chuàng)建 docker-compose.yml 文件

需要提前創(chuàng)建docker網(wǎng)絡:docker network create fc
使用文本編輯器創(chuàng)建該文件,并填入以下內(nèi)容:

services:
  mssql:
    image: mcr.microsoft.com/mssql/server:2019-latest
    container_name: sqlserver
    environment:
      - ACCEPT_EULA=Y
      - MSSQL_PID=Developer
      - MSSQL_SA_PASSWORD=sqlserver@7740
    ports:
      - "1433:1433"
    volumes:
      - mssql_data:/var/opt/mssql  # 使用命名卷
    restart: unless-stopped
    mem_limit: 4g
    mem_reservation: 2g
    cpus: 2.0
    networks:
      - fc
volumes:
  mssql_data:  # 定義命名卷
networks:
  fc:
    external: true

配置項說明表

配置項說明示例值
image使用的Docker鏡像mcr.microsoft.com/mssql/server:2022-latest
environment環(huán)境變量配置ACCEPT_EULA=Y, MSSQL_SA_PASSWORD=...
ports端口映射配置"1433:1433"
volumes數(shù)據(jù)卷映射mssql_data:/var/opt/mssql
mem_limit內(nèi)存限制4g
networks網(wǎng)絡配置自定義橋接網(wǎng)絡

(可選)創(chuàng)建 .env 文件管理敏感信息
為了避免將密碼硬編碼在 YAML 文件中,可以創(chuàng)建一個 .env 文件(與 docker-compose.yml 同目錄):

# .env file
MSSQL_SA_PASSWORD=sqlserver@7740

然后修改 docker-compose.yml 中的 MSSQL_SA_PASSWORD 一行:

- MSSQL_SA_PASSWORD=${MSSQL_SA_PASSWORD}

或者

env_file:
  - .env  # 將密碼移出docker-compose文件

Docker Compose 會自動讀取同目錄下的 .env 文件并注入變量

3. 啟動容器

啟動容器前,注意開放防火墻端口:

# 如果使用 firewalld
sudo firewall-cmd --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

然后在包含 docker-compose.yml 文件的目錄下,執(zhí)行:

docker compose up -d

  • -d 同樣表示在后臺運行
  • 這個命令會自動拉取鏡像(如果本地沒有)、創(chuàng)建定義的卷、網(wǎng)絡,并啟動所有服務

總結(jié)

特性Docker 命令行方式Docker Compose 方式
適用場景快速測試、單次運行、簡單任務正式部署、復雜應用、多環(huán)境、需要版本控制
配置管理長長的命令,難以記錄和復用清晰的 YAML 文件,易于閱讀、版本管理和共享
持久化需手動指定主機絕對路徑可使用相對路徑(如 ./data),管理更方便
安全性密碼在命令歷史中可見可通過 .env 文件隔離敏感信息,更安全
管理命令docker start/stop/rm <name>docker-compose up/down/start/stop (基于項目)
資源限制run 命令中直接指定在 YAML 文件中聲明
擴展性差,運行多個相關容器很麻煩極佳,可以輕松定義多服務應用(如 App + DB)

PS:如果遇到數(shù)據(jù)卷掛載權限問題,可以選擇使用user:root 或者直接創(chuàng)建數(shù)據(jù)卷由docker自動管理

到此這篇關于Docker 部署 Microsoft SQL Server 指南的文章就介紹到這了,更多相關Docker 部署 Microsoft SQL Server內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker中容器的備份方法和步驟操作

    Docker中容器的備份方法和步驟操作

    Docker容器備份分為完整(含文件系統(tǒng)和元數(shù)據(jù),用commit+save)與輕量(僅文件系統(tǒng),用export)兩種,恢復需導入鏡像或直接運行,備份前應停止容器,數(shù)據(jù)卷需單獨處理,定期清理并加密存儲以確保數(shù)據(jù)安全
    2025-09-09
  • Docker Compose網(wǎng)絡配置指南分享

    Docker Compose網(wǎng)絡配置指南分享

    本文詳細介紹了Docker網(wǎng)絡配置的各個方面,包括基礎網(wǎng)絡架構(gòu)、自定義網(wǎng)絡配置、典型場景配置、高級網(wǎng)絡技巧、調(diào)試與診斷以及最佳實踐,通過多個實戰(zhàn)案例和常見問題解決方案,幫助讀者更好地理解和應用Docker網(wǎng)絡技術
    2025-11-11
  • Docker簡單入門使用教程

    Docker簡單入門使用教程

    這篇文章主要介紹了Docker簡單入門教程,幫助大家開始學習docker容器,感興趣的朋友可以了解下
    2020-08-08
  • Linux Docker運行springboot項目的步驟詳解

    Linux Docker運行springboot項目的步驟詳解

    這篇文章主要介紹了Linux Docker運行springboot項目的步驟詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • docker終端中如何修改時區(qū)

    docker終端中如何修改時區(qū)

    解決Docker時區(qū)問題需檢查容器是否包含Shanghai時區(qū)文件,若無則從主機復制,通過命令驗證時區(qū)設置,確保正確,總結(jié)為個人經(jīng)驗,供他人參考
    2025-07-07
  • 創(chuàng)建的docker容器時間顯示錯誤/date錯誤/時區(qū)錯誤

    創(chuàng)建的docker容器時間顯示錯誤/date錯誤/時區(qū)錯誤

    這篇文章主要介紹了創(chuàng)建的docker容器時間顯示錯誤/date錯誤/時區(qū)錯誤的處理方法,一起看看吧
    2017-06-06
  • Docker配置代理的詳細步驟記錄

    Docker配置代理的詳細步驟記錄

    docker是一個流行的容器化平臺,它讓應用程序可以在操作系統(tǒng)層面上隔離運行,從而提供了更高的可移植性和可靠性,這篇文章主要給大家介紹了關于Docker配置代理的詳細步驟,需要的朋友可以參考下
    2024-08-08
  • docker如何安裝帶postgis插件的postgresql數(shù)據(jù)庫

    docker如何安裝帶postgis插件的postgresql數(shù)據(jù)庫

    這篇文章主要介紹了docker如何安裝帶postgis插件的postgresql數(shù)據(jù)庫問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Ubuntu18.04安裝docker全過程

    Ubuntu18.04安裝docker全過程

    這篇文章主要介紹了Ubuntu18.04安裝docker全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2026-06-06
  • Docker中部署Redis集群與部署微服務項目的詳細過程

    Docker中部署Redis集群與部署微服務項目的詳細過程

    這篇文章主要介紹了Docker中部署Redis集群與部署微服務項目,主要包括使用docker部署的好處以及Docker與Kubernetes對比分析,需要的朋友可以參考下
    2022-06-06

最新評論

临沭县| 郧西县| 亚东县| 灌南县| 平远县| 东乡县| 乃东县| 建水县| 易门县| 福安市| 商都县| 安多县| 铜鼓县| 民丰县| 潜山县| 文山县| 富锦市| 龙川县| 沙雅县| 渭源县| 德清县| 阳西县| 东莞市| 理塘县| 霍州市| 五台县| 鹿邑县| 子长县| 安康市| 汝州市| 田东县| 洱源县| 莒南县| 永新县| 三河市| 页游| 玛曲县| 岗巴县| 吕梁市| 文山县| 康保县|