DEV Community

Rodrigo Juarez
Rodrigo Juarez

Posted on • Originally published at blog.rodrigojuarez.com on

1

Utilizando db MS SQL con docker en Windows

Este post es simplemente un recordatorio para referencia futura sobre la configuracion de docker para poder utilizar bases de datos de Microsoft SQL Server en windows

  • Entorno
  • Estoy utilizando una pc con Windows 10 Version 1903
  • Tengo habilitado Hyper-V
  • Tengo instalado Docker Desktop 19.03.2
  • Docker esta configurado para utilizar Windows Containers

docker-db-init.ps1

He creado un script de powershell para configurar la db.La primera vez que ejecutamos este script, se descargaran todas las imagenes para que sql server funcione, por lo que son varios gigabytes.

docker 
    run -v 'c:\db:c:\db'
    --name mi_sql
    -p 1433:1433
    -e 'sa_password=mi_pass'
    -e 'ACCEPT_EULA=Y'
    -e attach_dbs="[{'dbName':'DataDb','dbFiles':['c:\\db\\datadb.mdf','c:\\db\\datadb_1.ldf']},{'dbName':'LoggingDb','dbFiles':['c:\\db\\loggingdb.mdf','c:\\db\\loggingdb_1.ldf']}]"
    -rm microsoft/mssql-server-windows-developer

-v: Adjuntar una carpeta que sera utilizada como persistencia, se indica la carpeta en el host y la de docker

–name: Darle un nombre al container para re utilizarlo posteriormente

-p 1433:1433: Puerto en el host y en docker de sql server

-e ‘sa_password=mi_pass’: El password del usuario sa que queremos utilizar

-e ‘ACCEPT_EULA=Y’: Requerido por Microsoft para aceptar el acuerdo de licencia

-e attach_dbs=”[{‘dbName’:’DataDb’,’dbFiles’:[‘c:\db\datadb.mdf’,’c:\db\datadb_1.ldf’]},{‘dbName’:’LoggingDb’,’dbFiles’:[‘c:\db\loggingdb.mdf’,’c:\db\loggingdb_1.ldf’]}]”: las bases de datos que queremos adjuntar, que deben estar en la carpeta que definimos con el parametro -v

-rm microsoft/mssql-server-windows-developer: la imagen de docker que estamos utilizando

configure-db.bat

Para facilitar la ejecucion del script powershell tengo el siguiente archivo bat

Powershell.exe -executionpolicy remotesigned -File C:\Desarrollo\proyecto\docker-db-init.ps1
pause

start-db.bat

Una vez que la base de datos esta configurada, utilizo el siguiente archivo bat para iniciar el contenedor de docker

docker start mi_sql
docker stats

Luego podremos conectarnos a la base de datos que estara disponible en localhost

Image of Datadog

The Future of AI, LLMs, and Observability on Google Cloud

Datadog sat down with Google’s Director of AI to discuss the current and future states of AI, ML, and LLMs on Google Cloud. Discover 7 key insights for technical leaders, covering everything from upskilling teams to observability best practices

Learn More

Top comments (0)

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay