Udostępnij za pośrednictwem


Szybki start: uruchamianie obrazów kontenerów systemu Linux z programem SQL Server przy użyciu platformy Docker

Dotyczy:SQL Server — Linux

W tym przewodniku szybkiego startu użyjesz platformy Docker, aby ściągnąć i uruchomić obraz kontenera systemu Linux programu SQL Server 2017 (14.x), mssql-server-linux. Następnie możesz nawiązać połączenie z narzędziem sqlcmd , aby utworzyć pierwszą bazę danych i uruchomić zapytania.

Aby uzyskać więcej informacji na temat obsługiwanych platform, zobacz Informacje o wersji programu SQL Server 2017 w systemie Linux.

Ostrzeżenie

Po zatrzymaniu i usunięciu kontenera dane programu SQL Server w kontenerze zostaną trwale usunięte. Aby uzyskać więcej informacji na temat zachowania danych, utwórz i skopiuj plik kopii zapasowej z kontenera lub użyj techniki trwałości danych kontenera.

Ten szybki start tworzy kontenery SQL Server 2017 (14.x). Jeśli wolisz tworzyć kontenery systemu Linux dla różnych wersji programu SQL Server, zobacz:

W tym przewodniku szybkiego startu użyjesz platformy Docker do pobierania i uruchamiania obrazu kontenera systemu Linux programu SQL Server 2019 (15.x), mssql-server-linux. Następnie możesz nawiązać połączenie z narzędziem sqlcmd , aby utworzyć pierwszą bazę danych i uruchomić zapytania.

Aby uzyskać więcej informacji na temat obsługiwanych platform, zobacz Informacje o wersji programu SQL Server 2019 w systemie Linux.

Ostrzeżenie

Po zatrzymaniu i usunięciu kontenera dane programu SQL Server w kontenerze zostaną trwale usunięte. Aby uzyskać więcej informacji na temat zachowania danych, utwórz i skopiuj plik kopii zapasowej z kontenera lub użyj techniki trwałości danych kontenera.

Ten przewodnik szybkiego startu tworzy kontenery SQL Server 2019 (15.x). Jeśli wolisz tworzyć kontenery systemu Linux dla różnych wersji programu SQL Server, zobacz:

W tym szybkim wprowadzeniu użyjesz platformy Docker, aby pobrać i uruchomić obraz kontenera systemu Linux programu SQL Server 2022 (16.x), mssql-server-linux. Następnie możesz nawiązać połączenie z narzędziem sqlcmd , aby utworzyć pierwszą bazę danych i uruchomić zapytania.

Aby uzyskać więcej informacji na temat obsługiwanych platform, zobacz Informacje o wersji programu SQL Server 2022 w systemie Linux.

Ostrzeżenie

Po zatrzymaniu i usunięciu kontenera dane programu SQL Server w kontenerze zostaną trwale usunięte. Aby uzyskać więcej informacji na temat zachowania danych, utwórz i skopiuj plik kopii zapasowej z kontenera lub użyj techniki trwałości danych kontenera.

Ten przewodnik Szybki start tworzy kontenery programu SQL Server 2022 (16.x). Jeśli wolisz tworzyć kontenery systemu Linux dla różnych wersji programu SQL Server, zobacz:

W tym szybkim przewodniku użyjesz Dockera, aby pobrać i uruchomić obraz kontenera SQL Server 2025 (17.x) Preview dla systemu Linux, mssql-server-linux. Następnie możesz nawiązać połączenie z narzędziem sqlcmd , aby utworzyć pierwszą bazę danych i uruchomić zapytania.

Aby uzyskać więcej informacji na temat obsługiwanych platform, zobacz Informacje o wersji programu SQL Server 2025 Preview w systemie Linux.

Ostrzeżenie

Po zatrzymaniu i usunięciu kontenera dane programu SQL Server w kontenerze zostaną trwale usunięte. Aby uzyskać więcej informacji na temat zachowania danych, utwórz i skopiuj plik kopii zapasowej z kontenera lub użyj techniki trwałości danych kontenera.

Ten przewodnik szybkiego startu tworzy kontenery SQL Server 2025 (17.x) w wersji zapoznawczej. Jeśli wolisz tworzyć kontenery systemu Linux dla różnych wersji programu SQL Server, zobacz:

Ten obraz składa się z programu SQL Server uruchomionego w systemie Linux na podstawie systemu Ubuntu. Można go używać z aparatem platformy Docker w wersji 1.8 lub nowszej w systemie Linux.

Począwszy od programu SQL Server 2022 (16.x) CU 14 i SQL Server 2019 (15.x) CU 28, obrazy kontenerów zawierają nowy pakiet mssql-tools18 . Poprzedni katalog /opt/mssql-tools/bin jest wycofywany. Nowy katalog dla narzędzi Microsoft ODBC 18 to /opt/mssql-tools18/bin, co odpowiada najnowszej ofercie narzędzi. Aby uzyskać więcej informacji na temat zmian i ulepszeń zabezpieczeń, zobacz Sterownik ODBC 18.0 dla programu SQL Server wydany.

Przykłady w tym artykule używają polecenia docker. Jednak większość z tych poleceń działa również z Podmanem. Podman zapewnia interfejs wiersza poleceń podobny do silnika Docker. Możesz dowiedzieć się więcej o Podmanie.

Ważne

Narzędzie sqlcmd nie obsługuje obecnie parametru MSSQL_PID podczas tworzenia kontenerów. Jeśli używasz instrukcji sqlcmd w tym szybkim starcie, tworzysz kontener z wersją Developer SQL Server. Skorzystaj z instrukcji interfejsu wiersza polecenia , aby utworzyć kontener przy użyciu wybranej licencji. Aby uzyskać więcej informacji, zobacz Deploy and connect to SQL Server Linux containers (Wdrażanie i nawiązywanie połączenia z kontenerami systemu Linux programu SQL Server).

Wymagania wstępne

  • Aparat platformy Docker w wersji 1.8 lub nowszej w dowolnej obsługiwanej dystrybucji systemu Linux. Aby uzyskać więcej informacji, zobacz Instalowanie platformy Docker.
  • Sterownik magazynowania Docker overlay2. Ten sterownik jest domyślny dla większości użytkowników. Jeśli nie używasz tego dostawcy pamięci i musisz go zmienić, zapoznaj się z instrukcjami i ostrzeżeniami w dokumentacji Docker dotyczącej konfigurowania Overlay2.

  • Zainstaluj najnowszą wersję narzędzia sqlcmd na hoście platformy Docker.

  • Co najmniej 2 GB miejsca na dysku.

  • Co najmniej 2 GB pamięci RAM.

  • Wymagania systemowe dotyczące programu SQL Server w systemie Linux.

Ściąganie i uruchamianie obrazu kontenera programu SQL Server Linux

Przed rozpoczęciem poniższych kroków upewnij się, że w górnej części tego artykułu wybrano preferowaną powłokę (bash, PowerShell lub cmd).

W przypadku poleceń powłoki bash w tym artykule sudo jest używany. Jeśli nie chcesz używać sudo do uruchamiania platformy Docker, możesz skonfigurować grupę docker i dodać użytkowników do tej grupy. Aby uzyskać więcej informacji, zobacz Kroki po instalacji dla systemu Linux.

Ściąganie obrazu kontenera z rejestru

Pobierz obraz kontenera programu SQL Server 2017 (14.x) z usługi Microsoft Container Registry.

sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
docker pull mcr.microsoft.com/mssql/server:2017-latest
docker pull mcr.microsoft.com/mssql/server:2017-latest

Ten szybki start tworzy kontenery SQL Server 2017 (14.x). Jeśli wolisz tworzyć kontenery systemu Linux dla różnych wersji programu SQL Server, zobacz:

Poprzednie polecenie ściąga najnowszy obraz kontenera programu SQL Server 2017 (14.x). Jeśli chcesz ściągnąć określony obraz, dodaj dwukropek i nazwę tagu, na przykład mcr.microsoft.com/mssql/server:2017-GA-ubuntu. Aby wyświetlić wszystkie dostępne obrazy, zobacz Rejestr artefaktów Firmy Microsoft.

Uruchamianie kontenera

Aby uruchomić obraz kontenera systemu Linux za pomocą platformy Docker, możesz użyć następującego polecenia w powłoce bash lub wierszu polecenia programu PowerShell z podwyższonym poziomem uprawnień.

Ważne

Zmienna środowiskowa SA_PASSWORD jest przestarzała. Użyj MSSQL_SA_PASSWORD zamiast tego.

sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2017-latest

Jeśli używasz programu PowerShell Core, zastąp podwójne cudzysłowy pojedynczymi cudzysłowami.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2017-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2017-latest

Ostrzeżenie

Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe. Jeśli nie spełniasz tych wymagań dotyczących haseł, kontener nie może skonfigurować programu SQL Server i przestanie działać. Dziennik błędów można sprawdzić przy użyciu docker logs polecenia .

Domyślnie ten szybki start tworzy kontener z edycją Developer programu SQL Server. Proces uruchamiania wersji produkcyjnych w kontenerach jest nieco inny. Aby uzyskać więcej informacji, zobacz Run production container images (Uruchamianie obrazów kontenerów produkcyjnych).

Poniższa tabela zawiera opis parametrów w poprzednim docker run przykładzie:

Parametr Opis
-e "ACCEPT_EULA=Y" Ustaw zmienną na dowolną ACCEPT_EULA wartość, aby potwierdzić akceptację umowy licencyjnej End-User. Wymagane ustawienie dla obrazu programu SQL Server.
-e "MSSQL_SA_PASSWORD=<password>" Określ własne silne hasło, które ma co najmniej osiem znaków i spełnia zasady haseł. Wymagane ustawienie dla obrazu programu SQL Server.
-e "MSSQL_COLLATION=<SQL_Server_collation>" Określ niestandardowe sortowanie w programie SQL Server zamiast domyślnego SQL_Latin1_General_CP1_CI_AS.
-p 1433:1433 Mapowanie portu TCP w środowisku hosta (pierwsza wartość) przy użyciu portu TCP w kontenerze (druga wartość). W tym przykładzie program SQL Server nasłuchuje na serwerze TCP 1433 w kontenerze, a ten port kontenera jest następnie uwidoczniony na porcie TCP 1433 na hoście.
--name sql1 Określ niestandardową nazwę kontenera, a nie wygenerowaną losowo. Jeśli uruchamiasz więcej niż jeden kontener, nie możesz ponownie użyć tej samej nazwy.
--hostname sql1 Służy do jawnego ustawiania nazwy hosta kontenera. Jeśli nie określisz nazwy hosta, domyślnie zostanie ona ustawiona na identyfikator kontenera, który jest losowo generowanym globalnym unikalnym identyfikatorem (GUID) systemu.
-d Uruchom kontener w tle (demon).
mcr.microsoft.com/mssql/server:2017-latest Obraz kontenera systemu Linux programu SQL Server.

Wyświetlanie listy kontenerów

  1. Aby wyświetlić kontenery platformy Docker, użyj docker ps polecenia .

    sudo docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:

    CONTAINER ID   IMAGE                                        COMMAND                    CREATED         STATUS         PORTS                                       NAMES
    d4a1999ef83e   mcr.microsoft.com/mssql/server:2017-latest   "/opt/mssql/bin/perm..."   2 minutes ago   Up 2 minutes   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp   sql1
    
  2. Jeśli w kolumnie STATUS jest wyświetlany stan Up, program SQL Server jest uruchomiony w kontenerze i nasłuchuje na porcie określonym w kolumnie PORTS. Jeśli kolumna STATUS kontenera programu SQL Server zawiera wartość Exited, zobacz Rozwiązywanie problemów z kontenerami platformy Docker programu SQL Server. Serwer jest gotowy do nawiązywania połączeń po wyświetleniu komunikatu o błędzie w dziennikach błędów programu SQL Server: SQL Server is now ready for client connections. This is an informational message; no user action is required. Możesz przejrzeć dziennik błędów programu SQL Server wewnątrz kontenera przy użyciu polecenia :

    sudo docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection
    

    Parametr --hostname , jak wspomniano wcześniej, zmienia wewnętrzną nazwę kontenera na wartość niestandardową. Ta wartość to nazwa, którą zobaczysz w wyniku następującego zapytania Transact-SQL:

    SELECT @@SERVERNAME,
           SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
           SERVERPROPERTY('MachineName'),
           SERVERPROPERTY('ServerName');
    

    Ustawienie --hostname i --name wartość tej samej wartości to dobry sposób na łatwe zidentyfikowanie kontenera docelowego.

  3. W ostatnim kroku zmień swoje hasło SA w środowisku produkcyjnym, ponieważ MSSQL_SA_PASSWORD jest widoczny w ps -eax wyniku i przechowywany w zmiennej środowiskowej o tej samej nazwie.

Ściąganie i uruchamianie obrazu kontenera programu SQL Server Linux

Przed rozpoczęciem poniższych kroków upewnij się, że w górnej części tego artykułu wybrano preferowaną powłokę (bash, PowerShell lub cmd).

W przypadku poleceń powłoki bash w tym artykule sudo jest używany. Jeśli nie chcesz używać sudo do uruchamiania platformy Docker, możesz skonfigurować grupę docker i dodać użytkowników do tej grupy. Aby uzyskać więcej informacji, zobacz Kroki po instalacji dla systemu Linux.

Pociągnij kontener z rejestru

Pobierz obraz kontenera programu SQL Server 2019 (15.x) z usługi Microsoft Container Registry.

docker pull mcr.microsoft.com/mssql/server:2019-latest
docker pull mcr.microsoft.com/mssql/server:2019-latest
docker pull mcr.microsoft.com/mssql/server:2019-latest

Ten przewodnik szybkiego startu tworzy kontenery SQL Server 2019 (15.x). Jeśli wolisz tworzyć kontenery systemu Linux dla różnych wersji programu SQL Server, zobacz:

Poprzednie polecenie ściąga najnowszy obraz kontenera programu SQL Server 2019 (15.x). Jeśli chcesz ściągnąć określony obraz, dodaj dwukropek i nazwę tagu, na przykład mcr.microsoft.com/mssql/server:2019-GA-ubuntu. Aby wyświetlić wszystkie dostępne obrazy, zobacz Rejestr artefaktów Firmy Microsoft.

Uruchamianie kontenera

Aby uruchomić obraz kontenera systemu Linux za pomocą platformy Docker, możesz użyć następującego polecenia w powłoce bash lub wierszu polecenia programu PowerShell z podwyższonym poziomem uprawnień.

Ważne

Zmienna środowiskowa SA_PASSWORD jest przestarzała. Użyj MSSQL_SA_PASSWORD zamiast tego.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2019-latest

Jeśli używasz programu PowerShell Core, zastąp podwójne cudzysłowy pojedynczymi cudzysłowami.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2019-latest

Ostrzeżenie

Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2019-latest

Ostrzeżenie

Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe. Jeśli nie spełniasz tych wymagań dotyczących haseł, kontener nie może skonfigurować programu SQL Server i przestanie działać. Dziennik błędów można sprawdzić przy użyciu docker logs polecenia .

Domyślnie ten szybki start tworzy kontener z edycją Developer programu SQL Server. Proces uruchamiania wersji produkcyjnych w kontenerach jest nieco inny. Aby uzyskać więcej informacji, zobacz Run production container images (Uruchamianie obrazów kontenerów produkcyjnych).

Poniższa tabela zawiera opis parametrów w poprzednim docker run przykładzie:

Parametr Opis
-e "ACCEPT_EULA=Y" Ustaw zmienną na dowolną ACCEPT_EULA wartość, aby potwierdzić akceptację umowy licencyjnej End-User. Wymagane ustawienie dla obrazu programu SQL Server.
-e "MSSQL_SA_PASSWORD=<password>" Określ własne silne hasło, które ma co najmniej osiem znaków i spełnia zasady haseł. Wymagane ustawienie dla obrazu programu SQL Server.
-e "MSSQL_COLLATION=<SQL_Server_collation>" Określ niestandardowe sortowanie w programie SQL Server zamiast domyślnego SQL_Latin1_General_CP1_CI_AS.
-p 1433:1433 Mapowanie portu TCP w środowisku hosta (pierwsza wartość) przy użyciu portu TCP w kontenerze (druga wartość). W tym przykładzie program SQL Server nasłuchuje na serwerze TCP 1433 w kontenerze, a ten port kontenera jest następnie uwidoczniony na porcie TCP 1433 na hoście.
--name sql1 Określ niestandardową nazwę kontenera, a nie wygenerowaną losowo. Jeśli uruchamiasz więcej niż jeden kontener, nie możesz ponownie użyć tej samej nazwy.
--hostname sql1 Służy do jawnego ustawiania nazwy hosta kontenera. Jeśli nie określisz nazwy hosta, domyślnie zostanie ona ustawiona na identyfikator kontenera, który jest losowo generowanym globalnym unikalnym identyfikatorem (GUID) systemu.
-d Uruchom kontener w tle (demon).
mcr.microsoft.com/mssql/server:2019-latest Obraz kontenera systemu Linux programu SQL Server.

Wyświetlanie listy kontenerów

  1. Aby wyświetlić kontenery platformy Docker, użyj docker ps polecenia .

    docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:

    CONTAINER ID   IMAGE                                        COMMAND                    CREATED         STATUS         PORTS                                       NAMES
    d4a1999ef83e   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm..."   2 minutes ago   Up 2 minutes   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp   sql1
    
  2. Jeśli w kolumnie STATUS jest wyświetlany stan Up, program SQL Server jest uruchomiony w kontenerze i nasłuchuje na porcie określonym w kolumnie PORTS. Jeśli kolumna STATUS kontenera programu SQL Server zawiera wartość Exited, zobacz Rozwiązywanie problemów z kontenerami platformy Docker programu SQL Server. Serwer jest gotowy do nawiązywania połączeń po wyświetleniu komunikatu o błędzie w dziennikach błędów programu SQL Server: SQL Server is now ready for client connections. This is an informational message; no user action is required. Możesz przejrzeć dziennik błędów programu SQL Server wewnątrz kontenera przy użyciu polecenia :

    docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection
    

    Parametr --hostname , jak wspomniano wcześniej, zmienia wewnętrzną nazwę kontenera na wartość niestandardową. Ta wartość to nazwa, którą zobaczysz w wyniku następującego zapytania Transact-SQL:

    SELECT @@SERVERNAME,
           SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
           SERVERPROPERTY('MachineName'),
           SERVERPROPERTY('ServerName');
    

    Ustawienie --hostname i --name wartość tej samej wartości to dobry sposób na łatwe zidentyfikowanie kontenera docelowego.

  3. W ostatnim kroku zmień swoje hasło SA w środowisku produkcyjnym, ponieważ MSSQL_SA_PASSWORD jest widoczny w ps -eax wyniku i przechowywany w zmiennej środowiskowej o tej samej nazwie.

Ściąganie i uruchamianie obrazu kontenera programu SQL Server Linux

Przed rozpoczęciem poniższych kroków upewnij się, że w górnej części tego artykułu wybrano preferowaną powłokę (bash, PowerShell lub cmd).

W przypadku poleceń powłoki bash w tym artykule sudo jest używany. Jeśli nie chcesz używać sudo do uruchamiania platformy Docker, możesz skonfigurować grupę docker i dodać użytkowników do tej grupy. Aby uzyskać więcej informacji, zobacz Kroki po instalacji dla systemu Linux.

Ściąganie obrazu kontenera z rejestru

Pobierz obraz kontenera programu SQL Server 2022 (16.x) z usługi Microsoft Container Registry.

docker pull mcr.microsoft.com/mssql/server:2022-latest
docker pull mcr.microsoft.com/mssql/server:2022-latest
docker pull mcr.microsoft.com/mssql/server:2022-latest

Ten przewodnik Szybki start tworzy kontenery programu SQL Server 2022 (16.x). Jeśli wolisz tworzyć kontenery systemu Linux dla różnych wersji programu SQL Server, zobacz:

Poprzednie polecenie ściąga najnowszy obraz kontenera programu SQL Server 2022 (16.x). Jeśli chcesz ściągnąć określony obraz, dodaj dwukropek i nazwę tagu, na przykład mcr.microsoft.com/mssql/server:2022-GA-ubuntu. Aby wyświetlić wszystkie dostępne obrazy, zobacz Rejestr artefaktów Firmy Microsoft.

Uruchamianie kontenera

Aby uruchomić obraz kontenera systemu Linux za pomocą platformy Docker, możesz użyć następującego polecenia w powłoce bash lub wierszu polecenia programu PowerShell z podwyższonym poziomem uprawnień.

Ważne

Zmienna środowiskowa SA_PASSWORD jest przestarzała. Użyj MSSQL_SA_PASSWORD zamiast tego.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2022-latest

Jeśli używasz programu PowerShell Core, zastąp podwójne cudzysłowy pojedynczymi cudzysłowami.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2022-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2022-latest

Ostrzeżenie

Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe. Jeśli nie spełniasz tych wymagań dotyczących haseł, kontener nie może skonfigurować programu SQL Server i przestanie działać. Dziennik błędów można sprawdzić przy użyciu docker logs polecenia .

Domyślnie ten szybki start tworzy kontener z edycją Developer programu SQL Server. Proces uruchamiania wersji produkcyjnych w kontenerach jest nieco inny. Aby uzyskać więcej informacji, zobacz Run production container images (Uruchamianie obrazów kontenerów produkcyjnych).

Poniższa tabela zawiera opis parametrów w poprzednim docker run przykładzie:

Parametr Opis
-e "ACCEPT_EULA=Y" Ustaw zmienną na dowolną ACCEPT_EULA wartość, aby potwierdzić akceptację umowy licencyjnej End-User. Wymagane ustawienie dla obrazu programu SQL Server.
-e "MSSQL_SA_PASSWORD=<password>" Określ własne silne hasło, które ma co najmniej osiem znaków i spełnia zasady haseł. Wymagane ustawienie dla obrazu programu SQL Server.
-e "MSSQL_COLLATION=<SQL_Server_collation>" Określ niestandardowe sortowanie w programie SQL Server zamiast domyślnego SQL_Latin1_General_CP1_CI_AS.
-p 1433:1433 Mapowanie portu TCP w środowisku hosta (pierwsza wartość) przy użyciu portu TCP w kontenerze (druga wartość). W tym przykładzie program SQL Server nasłuchuje na serwerze TCP 1433 w kontenerze, a ten port kontenera jest następnie uwidoczniony na porcie TCP 1433 na hoście.
--name sql1 Określ niestandardową nazwę kontenera, a nie wygenerowaną losowo. Jeśli uruchamiasz więcej niż jeden kontener, nie możesz ponownie użyć tej samej nazwy.
--hostname sql1 Służy do jawnego ustawiania nazwy hosta kontenera. Jeśli nie określisz nazwy hosta, domyślnie zostanie ona ustawiona na identyfikator kontenera, który jest losowo generowanym globalnym unikalnym identyfikatorem (GUID) systemu.
-d Uruchom kontener w tle (demon).
mcr.microsoft.com/mssql/server:2022-latest Obraz kontenera systemu Linux programu SQL Server.

Zmienianie hasła administratora systemu

Konto administratora (sa) jest administratorem systemu dla instancji serwera SQL, która jest tworzona podczas konfiguracji. Po utworzeniu kontenera programu SQL Server określona zmienna środowiskowa MSSQL_SA_PASSWORD jest wykrywalna przez uruchomienie echo $MSSQL_SA_PASSWORD w kontenerze. W celach bezpieczeństwa należy zmienić sa hasło w środowisku produkcyjnym.

  1. Wybierz silne hasło do użycia dla konta sa. Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.

  2. Użyj docker exec polecenia sqlcmd, aby zmienić hasło przy użyciu języka Transact-SQL. W poniższym przykładzie stare i nowe hasła są odczytywane z danych wejściowych użytkownika.

    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd \
    -S localhost -U sa \
     -P "$(read -sp "Enter current SA password: "; echo "${REPLY}")" \
     -Q "ALTER LOGIN sa WITH PASSWORD=\"$(read -sp "Enter new SA password: "; echo "${REPLY}")\""
    
    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd `
       -S localhost -U sa -P "<password>" `
       -Q "ALTER LOGIN sa WITH PASSWORD='<new-password>'"
    
    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd `
       -S localhost -U sa -P "<password>" `
       -Q "ALTER LOGIN sa WITH PASSWORD='<new-password>'"
    

    Ostrzeżenie

    Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.

    Najnowsze wersje narzędzia sqlcmd są domyślnie bezpieczne. Aby uzyskać więcej informacji na temat szyfrowania połączeń, zobacz sqlcmd utility for Windows i Connecting with sqlcmd for Linux and macOS (Nawiązywanie połączenia za pomocą sqlcmd dla systemów Linux i macOS). Jeśli połączenie nie powiedzie się, możesz dodać -No opcję do narzędzia sqlcmd , aby określić, że szyfrowanie jest opcjonalne, a nie obowiązkowe.

Wyłącz konto SA jako najlepszą praktykę

Ważne

Te poświadczenia będą potrzebne do wykonania późniejszych kroków. Pamiętaj, aby zapisać identyfikator użytkownika i hasło wprowadzone tutaj.

Podczas nawiązywania połączenia z wystąpieniem programu SQL Server przy użyciu konta administratora systemu (sa) po raz pierwszy po instalacji, należy wykonać te kroki, a następnie natychmiast wyłączyć konto sa jako najlepszą praktykę w zakresie zabezpieczeń.

  1. Utwórz nowe dane logowania i przypisz go do roli serwera sysadmin .

  2. Połącz się z wystąpieniem programu SQL Server przy użyciu nowo utworzonego loginu.

  3. Wyłącz konto sa zgodnie z zaleceniami dotyczącymi najlepszych rozwiązań w zakresie zabezpieczeń.

Wyświetlanie listy kontenerów

  1. Aby wyświetlić kontenery platformy Docker, użyj docker ps polecenia .

    docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:

    CONTAINER ID   IMAGE                                        COMMAND                    CREATED         STATUS         PORTS                                       NAMES
    d4a1999ef83e   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/perm..."   2 minutes ago   Up 2 minutes   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp   sql1
    
  2. Jeśli w kolumnie STATUS jest wyświetlany stan Up, program SQL Server jest uruchomiony w kontenerze i nasłuchuje na porcie określonym w kolumnie PORTS. Jeśli kolumna STATUS kontenera programu SQL Server zawiera wartość Exited, zobacz Rozwiązywanie problemów z kontenerami platformy Docker programu SQL Server. Serwer jest gotowy do nawiązywania połączeń po wyświetleniu komunikatu o błędzie w dziennikach błędów programu SQL Server: SQL Server is now ready for client connections. This is an informational message; no user action is required. Możesz przejrzeć dziennik błędów programu SQL Server wewnątrz kontenera przy użyciu polecenia :

    docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection
    

    Parametr --hostname , jak wspomniano wcześniej, zmienia wewnętrzną nazwę kontenera na wartość niestandardową. Ta wartość to nazwa, którą zobaczysz w wyniku następującego zapytania Transact-SQL:

    SELECT @@SERVERNAME,
           SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
           SERVERPROPERTY('MachineName'),
           SERVERPROPERTY('ServerName');
    

    Ustawienie --hostname i --name wartość tej samej wartości to dobry sposób na łatwe zidentyfikowanie kontenera docelowego.

Ściąganie i uruchamianie obrazu kontenera programu SQL Server Linux

Przed rozpoczęciem poniższych kroków upewnij się, że w górnej części tego artykułu wybrano preferowaną powłokę (bash, PowerShell lub cmd).

W przypadku poleceń powłoki bash w tym artykule sudo jest używany. Jeśli nie chcesz używać sudo do uruchamiania platformy Docker, możesz skonfigurować grupę docker i dodać użytkowników do tej grupy. Aby uzyskać więcej informacji, zobacz Kroki po instalacji dla systemu Linux.

Ściąganie obrazu kontenera z rejestru

Pobierz obraz kontenera SQL Server 2025 (17.x) Preview dla systemu Linux z usługi Microsoft Container Registry.

docker pull mcr.microsoft.com/mssql/server:2025-latest
docker pull mcr.microsoft.com/mssql/server:2025-latest
docker pull mcr.microsoft.com/mssql/server:2025-latest

Ten przewodnik szybkiego startu tworzy kontenery SQL Server 2025 (17.x) w wersji zapoznawczej. Jeśli wolisz tworzyć kontenery systemu Linux dla różnych wersji programu SQL Server, zobacz:

Poprzednie polecenie ściąga najnowszy obraz kontenera systemu Linux programu SQL Server 2025 (17.x). Jeśli chcesz ściągnąć określony obraz, dodaj dwukropek i nazwę tagu, na przykład mcr.microsoft.com/mssql/server:2025-GA-ubuntu. Aby wyświetlić wszystkie dostępne obrazy, zobacz Rejestr artefaktów Firmy Microsoft.

Uruchamianie kontenera

Aby uruchomić obraz kontenera systemu Linux za pomocą platformy Docker, możesz użyć następującego polecenia w powłoce bash lub wierszu polecenia programu PowerShell z podwyższonym poziomem uprawnień.

Ważne

Zmienna środowiskowa SA_PASSWORD jest przestarzała. Użyj MSSQL_SA_PASSWORD zamiast tego.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2025-latest

Jeśli używasz programu PowerShell Core, zastąp podwójne cudzysłowy pojedynczymi cudzysłowami.

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2025-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
   -p 1433:1433 --name sql1 --hostname sql1 `
   -d `
   mcr.microsoft.com/mssql/server:2025-latest

Ostrzeżenie

Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe. Jeśli nie spełniasz tych wymagań dotyczących haseł, kontener nie może skonfigurować programu SQL Server i przestanie działać. Dziennik błędów można sprawdzić przy użyciu docker logs polecenia .

Domyślnie ten szybki start tworzy kontener z edycją Developer programu SQL Server. Proces uruchamiania wersji produkcyjnych w kontenerach jest nieco inny. Aby uzyskać więcej informacji, zobacz Run production container images (Uruchamianie obrazów kontenerów produkcyjnych).

Poniższa tabela zawiera opis parametrów w poprzednim docker run przykładzie:

Parametr Opis
-e "ACCEPT_EULA=Y" Ustaw zmienną na dowolną ACCEPT_EULA wartość, aby potwierdzić akceptację umowy licencyjnej End-User. Wymagane ustawienie dla obrazu programu SQL Server.
-e "MSSQL_SA_PASSWORD=<password>" Określ własne silne hasło, które ma co najmniej osiem znaków i spełnia zasady haseł. Wymagane ustawienie dla obrazu programu SQL Server.
-e "MSSQL_COLLATION=<SQL_Server_collation>" Określ niestandardowe sortowanie w programie SQL Server zamiast domyślnego SQL_Latin1_General_CP1_CI_AS.
-p 1433:1433 Mapowanie portu TCP w środowisku hosta (pierwsza wartość) przy użyciu portu TCP w kontenerze (druga wartość). W tym przykładzie program SQL Server nasłuchuje na serwerze TCP 1433 w kontenerze, a ten port kontenera jest następnie uwidoczniony na porcie TCP 1433 na hoście.
--name sql1 Określ niestandardową nazwę kontenera, a nie wygenerowaną losowo. Jeśli uruchamiasz więcej niż jeden kontener, nie możesz ponownie użyć tej samej nazwy.
--hostname sql1 Służy do jawnego ustawiania nazwy hosta kontenera. Jeśli nie określisz nazwy hosta, domyślnie zostanie ona ustawiona na identyfikator kontenera, który jest losowo generowanym globalnym unikalnym identyfikatorem (GUID) systemu.
-d Uruchom kontener w tle (demon).
mcr.microsoft.com/mssql/server:2025-latest Obraz kontenera systemu Linux programu SQL Server.

Zmienianie hasła administratora systemu

Konto administratora (sa) jest administratorem systemu dla instancji serwera SQL, która jest tworzona podczas konfiguracji. Po utworzeniu kontenera programu SQL Server określona zmienna środowiskowa MSSQL_SA_PASSWORD jest wykrywalna przez uruchomienie echo $MSSQL_SA_PASSWORD w kontenerze. W celach bezpieczeństwa należy zmienić sa hasło w środowisku produkcyjnym.

  1. Wybierz silne hasło do użycia dla konta sa. Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.

  2. Użyj docker exec polecenia sqlcmd, aby zmienić hasło przy użyciu języka Transact-SQL. W poniższym przykładzie stare i nowe hasła są odczytywane z danych wejściowych użytkownika.

    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd \
    -S localhost -U sa \
     -P "$(read -sp "Enter current SA password: "; echo "${REPLY}")" \
     -Q "ALTER LOGIN sa WITH PASSWORD=\"$(read -sp "Enter new SA password: "; echo "${REPLY}")\""
    
    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd `
       -S localhost -U sa -P "<password>" `
       -Q "ALTER LOGIN sa WITH PASSWORD='<new-password>'"
    
    docker exec -it sql1 /opt/mssql-tools18/bin/sqlcmd `
       -S localhost -U sa -P "<password>" `
       -Q "ALTER LOGIN sa WITH PASSWORD='<new-password>'"
    

    Ostrzeżenie

    Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.

    Najnowsze wersje narzędzia sqlcmd są domyślnie bezpieczne. Aby uzyskać więcej informacji na temat szyfrowania połączeń, zobacz sqlcmd utility for Windows i Connecting with sqlcmd for Linux and macOS (Nawiązywanie połączenia za pomocą sqlcmd dla systemów Linux i macOS). Jeśli połączenie nie powiedzie się, możesz dodać -No opcję do narzędzia sqlcmd , aby określić, że szyfrowanie jest opcjonalne, a nie obowiązkowe.

Wyłącz konto SA jako najlepszą praktykę

Ważne

Te poświadczenia będą potrzebne do wykonania późniejszych kroków. Pamiętaj, aby zapisać identyfikator użytkownika i hasło wprowadzone tutaj.

Podczas nawiązywania połączenia z wystąpieniem programu SQL Server przy użyciu konta administratora systemu (sa) po raz pierwszy po instalacji, należy wykonać te kroki, a następnie natychmiast wyłączyć konto sa jako najlepszą praktykę w zakresie zabezpieczeń.

  1. Utwórz nowe dane logowania i przypisz go do roli serwera sysadmin .

  2. Połącz się z wystąpieniem programu SQL Server przy użyciu nowo utworzonego loginu.

  3. Wyłącz konto sa zgodnie z zaleceniami dotyczącymi najlepszych rozwiązań w zakresie zabezpieczeń.

Wyświetlanie listy kontenerów

  1. Aby wyświetlić kontenery platformy Docker, użyj docker ps polecenia .

    docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:

    CONTAINER ID   IMAGE                                        COMMAND                    CREATED         STATUS         PORTS                                       NAMES
    d4a1999ef83e   mcr.microsoft.com/mssql/server:2025-latest   "/opt/mssql/bin/perm..."   2 minutes ago   Up 2 minutes   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp   sql1
    
  2. Jeśli w kolumnie STATUS jest wyświetlany stan Up, program SQL Server jest uruchomiony w kontenerze i nasłuchuje na porcie określonym w kolumnie PORTS. Jeśli kolumna STATUS kontenera programu SQL Server zawiera wartość Exited, zobacz Rozwiązywanie problemów z kontenerami platformy Docker programu SQL Server. Serwer jest gotowy do nawiązywania połączeń po wyświetleniu komunikatu o błędzie w dziennikach błędów programu SQL Server: SQL Server is now ready for client connections. This is an informational message; no user action is required. Możesz przejrzeć dziennik błędów programu SQL Server wewnątrz kontenera przy użyciu polecenia :

    docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection
    

    Parametr --hostname , jak wspomniano wcześniej, zmienia wewnętrzną nazwę kontenera na wartość niestandardową. Ta wartość to nazwa, którą zobaczysz w wyniku następującego zapytania Transact-SQL:

    SELECT @@SERVERNAME,
           SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
           SERVERPROPERTY('MachineName'),
           SERVERPROPERTY('ServerName');
    

    Ustawienie --hostname i --name wartość tej samej wartości to dobry sposób na łatwe zidentyfikowanie kontenera docelowego.

Nawiązywanie połączenia z programem SQL Server

W poniższych krokach użyj narzędzia wiersza polecenia programu SQL Server, narzędzia sqlcmd w kontenerze, aby nawiązać połączenie z programem SQL Server.

  1. Użyj polecenia docker exec -it, aby uruchomić interaktywną powłokę Bash wewnątrz uruchomionego kontenera. W poniższym przykładzie sql1 jest nazwą określoną przez parametr --name podczas tworzenia kontenera.

    docker exec -it sql1 "bash"
    
    docker exec -it sql1 "bash"
    
    docker exec -it sql1 "bash"
    
  1. Po przejściu do kontenera nawiąż połączenie lokalnie z narzędziem sqlcmd, używając pełnej ścieżki.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U <userid> -P "<password>"
    

    Najnowsze wersje narzędzia sqlcmd są domyślnie bezpieczne. Aby uzyskać więcej informacji na temat szyfrowania połączeń, zobacz sqlcmd utility for Windows i Connecting with sqlcmd for Linux and macOS (Nawiązywanie połączenia za pomocą sqlcmd dla systemów Linux i macOS). Jeśli połączenie nie powiedzie się, możesz dodać -No opcję do narzędzia sqlcmd , aby określić, że szyfrowanie jest opcjonalne, a nie obowiązkowe.

    Możesz pominąć hasło w wierszu polecenia, aby wyświetlić monit o jego wprowadzenie. Przykład:

    /opt/mssql-tools/bin/sqlcmd -S localhost -U <userid>
    
  1. Po przejściu do kontenera nawiąż połączenie lokalnie z narzędziem sqlcmd, używając pełnej ścieżki.

    /opt/mssql-tools18/bin/sqlcmd -S localhost -U <userid> -P "<password>"
    

    Najnowsze wersje narzędzia sqlcmd są domyślnie bezpieczne. Aby uzyskać więcej informacji na temat szyfrowania połączeń, zobacz sqlcmd utility for Windows i Connecting with sqlcmd for Linux and macOS (Nawiązywanie połączenia za pomocą sqlcmd dla systemów Linux i macOS). Jeśli połączenie nie powiedzie się, możesz dodać -No opcję do narzędzia sqlcmd , aby określić, że szyfrowanie jest opcjonalne, a nie obowiązkowe.

    Możesz pominąć hasło w wierszu polecenia, aby wyświetlić monit o jego wprowadzenie. Przykład:

    /opt/mssql-tools18/bin/sqlcmd -S localhost -U <userid>
    
  1. W przypadku powodzenia należy przejść do wiersza polecenia sqlcmd : 1>.

Tworzenie i wykonywanie zapytań dotyczących danych

W poniższych sekcjach przedstawiono sposób użycia narzędzia sqlcmd i Transact-SQL w celu utworzenia nowej bazy danych, dodania danych i uruchomienia zapytania.

Tworzenie nowej bazy danych

Poniższe kroki umożliwiają utworzenie nowej bazy danych o nazwie TestDB.

  1. W wierszu polecenia sqlcmd wklej następujące polecenie Transact-SQL, aby utworzyć testową bazę danych:

    CREATE DATABASE TestDB;
    
  2. W następnym wierszu napisz zapytanie, aby zwrócić nazwę wszystkich baz danych na serwerze:

    SELECT name
    FROM sys.databases;
    
  3. Poprzednie dwa polecenia nie były uruchamiane natychmiast. Wpisz GO na nowej linii, aby uruchomić poprzednie polecenia.

    GO
    

Wstawianie danych

Następnie utwórz nową tabelę , Inventoryi wstaw dwa nowe wiersze.

  1. W wierszu polecenia sqlcmd przełącz kontekst do nowej TestDB bazy danych:

    USE TestDB;
    
  2. Utwórz nową tabelę o nazwie Inventory:

    CREATE TABLE Inventory
    (
        id INT,
        name NVARCHAR (50),
        quantity INT
    );
    
  3. Wstaw dane do nowej tabeli:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Wpisz polecenie GO , aby uruchomić poprzednie polecenia:

    GO
    

Wybieranie danych

Teraz uruchom zapytanie, aby zwrócić dane z Inventory tabeli.

  1. W wierszu polecenia sqlcmd wprowadź zapytanie zwracające wiersze z Inventory tabeli, w której ilość jest większa niż 152:

    SELECT *
    FROM Inventory
    WHERE quantity > 152;
    
  2. Uruchom polecenie:

    GO
    

Zamknij wiersz polecenia sqlcmd

  1. Aby zakończyć sesję sqlcmd , wpisz QUIT:

    QUIT
    
  2. Aby zamknąć interakcyjny wiersz polecenia w kontenerze, wpisz exit. Kontener nadal działa po zamknięciu interaktywnej powłoki bash.

Nawiązywanie połączenia spoza kontenera

Możesz również nawiązać połączenie z wystąpieniem programu SQL Server na maszynie Docker z dowolnego zewnętrznego narzędzia obsługującego połączenia SQL w systemie Linux, Windows lub macOS. Narzędzie zewnętrzne używa adresu IP dla maszyny hosta.

W poniższych krokach użyj polecenia sqlcmd poza kontenerem, aby nawiązać połączenie z programem SQL Server uruchomionym w kontenerze. W tych krokach założono, że masz już zainstalowane narzędzia wiersza polecenia programu SQL Server poza kontenerem. Te same zasady mają zastosowanie w przypadku korzystania z innych narzędzi, ale proces łączenia jest unikatowy dla każdego narzędzia.

  1. Znajdź adres IP maszyny hosta kontenera przy użyciu polecenia ifconfig lub ip addr.

  2. W tym przykładzie zainstaluj narzędzie sqlcmd na komputerze klienckim. Aby uzyskać więcej informacji, zobacz sqlcmd utility (Narzędzie sqlcmd ) lub Install the sqlcmd and bcp SQL Server command-line tools on Linux (Instalowanie narzędzi wiersza polecenia sqlcmd i bcp programu SQL Server w systemie Linux).

  3. Uruchom sqlcmd, określając adres IP i port zamapowany na port 1433 w kontenerze. W tym przykładzie port jest taki sam jak port 1433 na maszynie hosta. Jeśli określono inny zamapowany port na maszynie hosta, użyj go tutaj. Należy również otworzyć odpowiedni port wejściowy w zaporze, aby zezwolić na połączenie.

    Najnowsze wersje narzędzia sqlcmd są domyślnie bezpieczne. Jeśli połączenie nie powiedzie się i używasz wersji 18 lub nowszej, możesz dodać -No opcję sqlcmd , aby określić, że szyfrowanie jest opcjonalne, a nie obowiązkowe.

    sudo sqlcmd -S <ip_address>,1433 -U <userid> -P "<password>"
    
    sqlcmd -S <ip_address>,1433 -U <userid> -P "<password>"
    
    sqlcmd -S <ip_address>,1433 -U <userid> -P "<password>"
    

    Ostrzeżenie

    Hasło powinno być zgodne z domyślnymi zasadami haseł programu SQL Server. Domyślnie hasło musi mieć długość co najmniej ośmiu znaków i zawierać znaki z trzech z następujących czterech zestawów: wielkie litery, małe litery, cyfry podstawowe-10 i symbole. Hasła mogą mieć długość maksymalnie 128 znaków. Używaj haseł, które są tak długie i złożone, jak to możliwe.

  4. Uruchom polecenie Transact-SQL. Po zakończeniu wpisz QUIT.

Inne typowe narzędzia do nawiązywania połączenia z programem SQL Server obejmują:

Usuwanie kontenera

Jeśli chcesz usunąć kontener programu SQL Server używany w tym samouczku, uruchom następujące polecenia:

docker stop sql1
docker rm sql1
docker stop sql1
docker rm sql1
docker stop sql1
docker rm sql1

Pokaz platformy Docker

Po zakończeniu korzystania z obrazu kontenera SQL Server na systemie Linux w Dockera, warto wiedzieć, jak Docker jest używany do ulepszania rozwoju i testowania. W poniższym filmie wideo pokazano, jak można używać platformy Docker w scenariuszu ciągłej integracji i wdrażania.

 

Współtworzenie dokumentacji SQL

Czy wiesz, że możesz samodzielnie edytować zawartość SQL? Jeśli to zrobisz, nie tylko pomożesz ulepszyć naszą dokumentację, ale także zostaniesz uznany za współautora strony.

Aby uzyskać więcej informacji, zobacz Edytowanie dokumentacji środowiska Microsoft Learn.