Hoy he reinstalado Windows 11 en lugar de Windows 10, no se si volveré a Windows 10, y he tenido que reinstalar las aplicaciones de nuevo, no me importa ya que hago limpieza, el asunto es que quería usar SqlServer desde Docker y no me acordaba como hacerlo, así que he tenido que buscarlo y he dicho lo voy a escribir para tenerlo en un sitio y no tener que buscarlo.
Vamos al turrón, una vez instalado Docker, lo que hay que hacer, mas bien conviene, es bajarse la imagen de sqlserver, para ello usamos el siguiente comando:
docker pull mcr.microsoft.com/mssql/server
No le pongo etiqueta ya que así obtengo la ultima versión, si se necesitase una especifica se le pone la etiqueta al final.
Una vez bajado, que tarda su ratico lo que hacemos es crear el contenedor para poderlo usar:
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=M1S3cr3tP4ssw0rd" -p 1433:1433 --name sql -h sql -d mcr.microsoft.com/mssql/server
Hay que poner los 2 -e uno aceptando el eula y otro con la password del usuario sa, importante para luego acceder como administrador, -p es para mapear los puertos, le doy el nombre original de sql -h para darle nombre al host -d para desengancharnos, que lo lance y se ejecute por su cuenta y por ultimo la imagen que nos hemos bajado en el paso anterior, si no la hubiésemos bajado antes de nada se la bajaría.
Y ya tenemos corriendo SqlServer en un contenedor, pero no hemos acabado aún falta como restaurar bases de datos.
Para tener todo organizado voy a crear un directorio de backup dentro del contenedor con este comando:
docker exec -it sql mkdir /var/opt/mssql/backup
Una vez hecho vamos a copiar nuestro backup de base de datos en el contenedor para restaurar la BBDD, el comando es el siguiente:
docker cp .\AdventureWorks2019.bak sql:/var/opt/mssql/backup
Ya tenemos nuestra copia de seguridad en el contenedor, ahora procedemos a restaurarla en el servidor, yo suelo usar el Management Studio.
Espero que le sea útil.