Instalar Sql Server 2019 sobre docker
Siguiendo las instrucciones en la web de microsoft: https://docs.microsoft.com/es-es/sql/linux/quickstart-install-connect-docker?view=sql-server-linux-ver15
Instalamos la imagen desde el store de microsoft:
sergio@sergio-pc:~$ sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP2.1-ubuntu [sudo] contraseña para sergio: 2019-CTP2.1-ubuntu: Pulling from mssql/server 59ab41dd721a: Pull complete 57da90bec92c: Pull complete 06fe57530625: Pull complete 5a6315cba1ff: Pull complete 739f58768b3f: Pull complete 0b751601bca3: Pull complete bcf04a22644a: Pull complete 440dfb194122: Pull complete 1be753d5072a: Pull complete Digest: sha256:c85030008fb886a30beffc931c2ecbe9d95d5119a66868d35bf878da8e9521e5 Status: Downloaded newer image for mcr.microsoft.com/mssql/server:2019-CTP2.1-ubuntu
Vemos la nueva imagen:
sergio@sergio-pc:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE mcr.microsoft.com/mssql/server 2019-CTP2.1-ubuntu 25b86bfb3a93 2 weeks ago 1.71GB
Docker container:
sergio@sergio-pc:~$ sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong!Passw0rd' \ > -p 1433:1433 --name sqlserver19 \ > -d mcr.microsoft.com/mssql/server:2019-CTP2.1-ubuntu e824e1fd453efa18ae0477487d526c0604d226245f6e6f67d1ba78cdc0cef436
Vemos el nuevo contenedor:
sergio@sergio-pc:~$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e824e1fd453e mcr.microsoft.com/mssql/server:2019-CTP2.1-ubuntu "/opt/mssql/bin/sqls…" 28 seconds ago Up 26 seconds 0.0.0.0:1433->1433/tcp sqlserver19
Para conectar al contenedor:
sergio@sergio-pc:~$ sudo docker exec -it sqlserver19 "bash" root@e824e1fd453e:/#
Y desde aquí al sqlcmd:
root@e824e1fd453e:/# /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'YourStrong!Passw0rd' 1>
Si queremos entrar desde nuestro ordenador directamente a sqlcmd:
sergio@sergio-pc:~$ sqlcmd -S localhost,1433 -U SA -P 'YourStrong!Passw0rd' 1>
Para crear una base de datos nueva:
sergio@sergio-pc:~$ sqlcmd -S localhost,1433 -U SA -P 'YourStrong!Passw0rd' 1> CREATE DATABASE TestDB 2> GO 1>
Vemos las bases de datos creadas:
1> SELECT Name from sys.Databases 2> GO Name -------------------------------------------------------------------------------------------------------------------------------- master tempdb model msdb TestDB (5 rows affected)
Elegir una base de datos para usar:
1> USE TestDB 2> GO Changed database context to 'TestDB'.
Creamos una tabla:
1> CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT) 2> GO
Insertamos datos:
1> INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154); 2> GO (1 rows affected) (1 rows affected)
Seleccionamos los datos:
1> SELECT * FROM Inventory WHERE quantity > 152; 2> GO id name quantity ----------- -------------------------------------------------- ----------- 2 orange 154 (1 rows affected)
Si quisieras eliminar el docker instalado:
sudo docker stop sqlserver19
sudo docker rm sqlserver19
Sumando con arumel!!