Hace ya algún tiempo te conté cómo podías usar SQL Server en Mac gracias a Docker. Sin embargo, hace poco llegó mi nuevo MacBook Pro a casa y cuando necesité generar un nuevo contenedor con esta base de datos:
# Create local database on Docker
docker run \
-e 'ACCEPT_EULA=Y' \
-e 'SA_PASSWORD=Password1!' \
-e 'MSSQL_PID=Express' \
--name sqlserver \
-p 1433:1433 -d mcr.microsoft.com/mssql/server:latestMe encontré con lo siguiente:

De hecho, si accedes a la interfaz de Docker Desktop verás un mensaje como este:
Por ahora lo que podemos hacer es uso de esta otra imagen, Azure SQL Edge, que es una versión optimizada para entornos IoT. Para usarla, he ejecutado lo siguientes parámetros.
#Create a network
docker network create sqlserver-vnet
#Create a container with Azure SQL Edge
docker run \
--name azuresqledge \
--network sqlserver-vnet \
--cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' \
-e 'MSSQL_SA_PASSWORD=Password1!' \
-v mssqlserver_volume:/var/opt/mssql \
-p 1433:1433 \
-d mcr.microsoft.com/azure-sql-edge
#Create a database
docker run -it --network sqlserver-vnet mcr.microsoft.com/mssql-tools
sqlcmd -S azuresqledge -U SA -P 'Password1!' -Q 'CREATE DATABASE [heroes]'Como esta imagen no trae consigo la herramienta sqlcmd, como si ocurre en la anterior, me he creado una red donde he incluido mi servidor con Azure SQL Edge, y luego he añadido, dentro de la misma red, otro contenedor con la imagen mssql-tools, al que me atacho nada más crearlo, y ejecuto los comandos que crea oportunos, en este caso crear una base de datos llamada heroes. Si bien este segundo contenedor también da el mismo warning, si que es capaz de ejecutarse y nos permite lanzar los comandos.
Espero que sea de utilidad.
¡Saludos!
Si quieres seguir aprendiendo sobre contenedores, tienes una lista de vídeos en mi canal de YouTube 👇🏻
¿Qué son los contenedores? Docker desde cero para principiantes
Docker CLI: Comandos esenciales que todo developer debe conocer
Domina los Dockerfiles: De lo básico a multi-stage
4 formas de crear un Dockerfile sin empezar desde cero
¿No entiendes las redes en Docker? Mira este vídeo
Cómo NO perder tus datos en Docker: Guía definitiva
Deja de configurar contenedores a mano: Aprende Docker Compose 🐙
Cómo subir tus imágenes a Docker Hub (Guía paso a paso)
Publica y automatiza tus imágenes de Docker con GitHub



que cliente de BD usas, tengo problemas con el Datagrip. Estoy usando el mismo sqlcmd pero es super incomodo.