Home SQL Server 2019 con docker su Mac M1
Post
Cancel

SQL Server 2019 con docker su Mac M1

Si, lo so. Il titolo di questo post è un po’ fuorviante.

Sul mio portatile e sul pc di casa ho installato Docker sul quale gira un container di SQL Server for Linux come ho spiegato in questo post.

Quando ho acquistato il mio primo portatile della Apple, il MacBook Air con processore M1 volevo fare la stessa cosa.

Ho installato Docker per Mac, la versione per “Mac with Apple silicon” e ho cercato l’immagine di SQL Server 2019 per processori ARM.

E ho scoperto che purtroppo SQL Server 2019 non supporta immagini docker per processori ARM.

Dopo un po’ di ricerca su Google, ho trovato questo articolo - How to Install SQL Server on an M1 Mac (ARM64) - che spiega come ovviare al problema utilizzando Azure SQL Edge che invece supporta i processori ARM.

Azure SQL Edge è un database relazionale ottimizzato per le distribuzioni IoT e IoT Edge. È basato sulle ultime versioni di SQL Server, quindi si può utilizzare T-SQL come su SQL Server. Per eseguire query e comandi si possono utilizzare gli stessi strumenti disponibili per SQL Server (come SSMS, Azure Data Studio).

Quindi eseguendo questo comando:

1
docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=bigStrongPwd' -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge

viene scaricata l’immagine docker e poi lanciato il container con Azure SQL Edge.

Anche in questo caso ho preferito creami un file docker-compose.yml che trovo più ordinato e leggibile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
version: "3.7"
services:
    db:
        container_name: azure-sql-edge
        image: mcr.microsoft.com/azure-sql-edge
        cap_add: [ 'SYS_PTRACE' ]
        ports:
            - 1433:1433
        restart: always
        volumes: 
            - azure-sql-edge-data:/var/opt/mssql
        environment:
            MSSQL_SA_PASSWORD: "Ti6collegato!"
            ACCEPT_EULA: "Y"
volumes:
    azure-sql-edge-data:

che posso far partire con Docker Compose eseguendo questo comando dal folder nel quale si trova il file .yml:

1
docker-compose up -d

Anche in questo caso ho creato un repository su github: azure-sql-edge-compose

Se si vuole installare anche Azure Data Studio, questo post - How to Install Azure Data Studio on a Mac - è un’ottima guida in tal senso.

This post is licensed under CC BY 4.0 by the author.