OrbStack: SQL Server on macOSOrbStack: SQL Server on macOS

การติดตั้ง SQL Server (MSSQL) บน OrbStack นั้นง่ายและประหยัดทรัพยากรกว่า Docker Desktop มากครับ(โดยเฉพาะถ้าเป็นชิป M) เราจะต้องใช้ Image ของ Azure SQL Edge หรือ SQL Server 2025 รุ่นที่รองรับ ARM64 ครับ ใช้ Docker Compose เพราะจะช่วยให้คุณจัดการ Password และ Path ของข้อมูลได้ง่าย (และป้องกัน Config หาย)

  1. สร้างโฟลเดอร์สำหรับโปรเจกต์
    sudo mkdir -p /Users/Shared/Portable/docker-sqlserver
    sudo chmod -R 777 /Users/Shared/Portable/docker-sqlserver
    cd /Users/Shared/Portable/docker-sqlserver
    sudo mkdir -p data
    sudo chmod -R 777 data
  2. สร้างไฟล์
    touch docker-compose.yml
  3. ใส่เนื่อหา
    services:
      sqlserver:
        container_name: docker-sqlserver
        environment:
          - ACCEPT_EULA=Y
          - MSSQL_SA_PASSWORD=4w2e36jqg6mG
          - MSSQL_PID=Developer
          # Set Thai Collation here
          - MSSQL_COLLATION=Thai_100_CI_AS
        healthcheck:
          test: ["CMD", "/opt/mssql-tools18/bin/sqlcmd", "-S", "localhost", "-U", "sa", "-P", "4w2e36jqg6mG", "-Q", "SELECT 1", "-C"]
          interval: 10s
          timeout: 3s
          retries: 10
        image: mcr.microsoft.com/mssql/server:2025-latest
        ports:
          - "1433:1433"
        restart: unless-stopped
        volumes:
          - ./data:/var/opt/mssql
    
  4. สั่งรันด้วย OrbStack
    docker compose up -d
  5. ลองเปิด /Users/Shared/Portable/docker-sqlserver/data จะเห็นว่าข้างในจะมีไฟล์ data, log, secrets อันนี้เป็น folder ที่เก็บข้อมูลและ log ของ SQL Server

OPTIONS

  • ACCEPT_EULA=Y ( ยอมรับ licence )
  • MSSQL_SA_PASSWORD=4w2e36jqg6mG ( SA password )
  • MSSQL_PID=Developer ย่อมาจาก Microsoft SQL Server Product ID ซึ่งเป็นตัวกำหนดว่า SQL Server ที่รันบน Docker จะใช้ Edition ( รุ่น ) ไหนและมีเงื่อนไขการใช้งานอย่างไร
  • MSSQL_COLLATION: Thai_100_CI_AS ( รับภาษาไทย )

วิธีการเชื่อมต่อจาก Mac

  • Server: localhost,1433
  • Username: sa
  • Password: 4w2e36jqg6mG ( ตามที่ตั้งไว้ในไฟล์ )

อ่านเพิ่มเติม