W tym poście pokażę ci, jak łatwo uruchomić bazę danych Microsoft SQL Server przy użyciu docker i docker-compose.
Microsoft udostępnia oficjalne obrazy w DockerHub, dzięki czemu możesz po prostu pobrać i utworzyć kontener na ich podstawie.
Utwórz docker-compose.yml
Najpierw stworzymy przepis na kompozycję dokera. Utwórzmy plik YML i umieśćmy w poniższej konfiguracji. W tym przykładzie weźmiemy najnowszy tag SQL Server 2019.
Konfiguracja
Ponadto musimy ustawić hasło, którego będziemy używać do łączenia się z bazą danych, zaakceptować umowę licencyjną oraz podać informacje, którego identyfikatora produktu chcesz użyć. Dostępne opcje to:
- Developer : Spowoduje to uruchomienie kontenera przy użyciu wersji dla programistów (wartość domyślna, jeśli nie podano zmiennej środowiskowej MSSQL_PID)
- Express : Spowoduje to uruchomienie kontenera za pomocą wersji Express Edition
- Standard : Spowoduje to uruchomienie kontenera w wersji Standard
- Enterprise : Spowoduje to uruchomienie kontenera w wersji Enterpise
- EnterpriseCore : Spowoduje to uruchomienie kontenera przy użyciu Enterprise Edition Core (wszystkie informacje pochodzą z oficjalnej strony na DockerHub)
version: "3" services: sql-server: image: mcr.microsoft.com/mssql/server:2019-latest hostname: sql-server container_name: sql-server ports: - "1433:1433" environment: - ACCEPT_EULA=Y - SA_PASSWORD=yourStrong(!)Password - MSSQL_PID=Express
Uruchom kontener
Aby uruchomić kontener, wystarczy wykonać poniższe polecenie. Obraz dokera zostanie pobrany i uruchomiony kontener na jego podstawie.
docker-compose up Pulling jenkins (mcr.microsoft.com/mssql/server:2019-latest)... 2019-latest: Pulling from mssql/server 5b7339215d1d: Already exists 14ca88e9f672: Already exists a31c3b1caad4: Already exists b054a26005b7: Already exists 59f979819d9b: Pull complete 29eb18117119: Pull complete 6de3c1cf897f: Pull complete 172ea0155639: Pull complete Digest: sha256:e064843673f08f22192c044ffa6a594b0670a3eb3f9ff7568dd7a65a698fc4d6 Status: Downloaded newer image for mcr.microsoft.com/mssql/server:2019-latest
Połączenie z bazą danych
Teraz pokażę ci, jak połączyć się z bazą danych SQL Server. W moim przypadku użyję programu DBeaver Community.
Otwórzmy DBeaver, wybierz „Create new connection”, wybierz SQL Server z listy i kliknij Next.

W następnym oknie podaj informacje takie jak:
- Host: localhost
- Port: 1433
- Database/Schema: master
- Authentication: SQL Server Authentication
- User name: sa
- Password: yourStrong(!)Password (hasło to samo co ustawione zostało w pliku docker-compose.yml )

Testuj połączenie
Teraz możemy przetestować nasze połączenie za pomocą przycisku „Test Connection …” w lewej dolnej części okna. Jeśli wszystko zostało ustawione poprawnie, powinieneś zobaczyć informacje takie jak poniżej:
Server: Microsoft SQL Server 15.00.4023 Microsoft SQL Server 2019 (RTM-CU3) (KB4538853) - 15.0.4023.6 (X64) Mar 4 2020 00:59:26 Copyright (C) 2019 Microsoft Corporation Express Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS) <X64> Driver: Microsoft JDBC Driver 8.2 for SQL Server 8.2.0.0

Uruchom testowe zapytanie SQL
Na końcu tego postu wykonamy proste zapytanie SQL, aby pobrać dane z bazy. Użyjemy istniejącej tabeli ze bazy master.
SELECT * FROM master.dbo.spt_values;
