Práctica 11. Creación de un contenedor Docker con SQL Server 2017 Express

José Juan Sánchez Hernández

IES Celia Viñas (Almería) - 2018/2019

1 Creación de un contenedor Docker con SQL Server 2017 Express

1.1 Requisitos

Para poder ejecutar contenedores Docker es necesario tener instalado Docker Community Edition (CE) en nuestro equipo.

En la web oficial encontrará la información necesaria para realizar la instalación de Docker CE sobre Windows, macOS, Ubuntu, Debian, Fedora y CentOS.

1.2 Cómo crear un contenedor sin persistencia de datos

Un contenedor Docker que no tiene persistencia de datos quiere decir que cuando finalice la ejecución perderá todo el contenido que hayamos creado durante la ejecución. Es decir, si durante la ejecución del contenedor hemos creado varias bases de datos en SQL Server 2017 Express, éstas se perderán cuando el contenedor se detenga.

El comando que podríamos usar para lanzar nuestro contenedor Docker con SQL Server 2017 Express sin persistencia de datos podría ser el siguiente:

docker run -d --rm --name sql_server_2017 -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrongPassword123' -e 'MSSQL_PID=Express' -p 1433:1433 microsoft/mssql-server-linux:latest

1.3 Cómo conectarnos con el contenedor que está ejecutando SQL Server 2017 Express

Una vez que hemos creado la instancia del contenedor que está ejecutando SQL Server 2017 Express, podemos conectarnos a él para utilizar la herramienta sqlcmd.

docker exec -it <container_id|container_name> /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P yourStrongPassword123

1.4 Cómo comprobar que el contenedor está en ejecución

Una vez que hemos iniciado el contenedor podemos comprobar que se está ejecutando con el siguiente comando:

docker ps

Deberíamos obtener una salida similar a esta.

CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS              PORTS                    NAMES
c370b426a379        microsoft/mssql-server-linux:latest   "/opt/mssql/bin/sqls…"   3 seconds ago       Up 1 second         0.0.0.0:1433->1433/tcp   sql_server_2017

1.5 Cómo detener el contenedor

Para detener el contenedor en primer lugar tenemos que conocer cuál es su ID. Para obtenerlo podemos hacer uso del comando docker ps.

docker ps

CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS              PORTS                    NAMES
c370b426a379        microsoft/mssql-server-linux:latest   "/opt/mssql/bin/sqls…"   3 seconds ago       Up 1 second         0.0.0.0:1433->1433/tcp   sql_server_2017

En la primera columna podemos ver cuál es el CONTAINER ID. Una vez localizado el identificador ejecutamos el comando docker stop y le pasamos como parámetro el identificador del contenedor que queremos detener.

Para el caso anterior deberíamos ejecutar:

docker stop c370b426a379

1.6 Referencias

2 Licencia

Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.