Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
- Aby uzyskać więcej informacji na temat wymagań sprzętowych i obsługi procesora, zobacz SQL Server 2016 i 2017: Wymagania sprzętowe i programowe
- Aby uzyskać więcej informacji na temat wymagań sprzętowych i obsługi procesora, zobacz SQL Server 2019: Wymagania sprzętowe i programowe
- Aby uzyskać więcej informacji na temat wymagań sprzętowych i obsługi procesora, zobacz SQL Server 2022: Wymagania sprzętowe i programowe
- Aby uzyskać więcej informacji na temat wymagań sprzętowych i obsługi procesora, zobacz SQL Server 2025 Preview: Wymagania sprzętowe i programowe
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
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
Jeśli w kolumnie
STATUS
jest wyświetlany stanUp
, program SQL Server jest uruchomiony w kontenerze i nasłuchuje na porcie określonym w kolumniePORTS
. Jeśli kolumnaSTATUS
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.W ostatnim kroku zmień swoje hasło SA w środowisku produkcyjnym, ponieważ
MSSQL_SA_PASSWORD
jest widoczny wps -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
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
Jeśli w kolumnie
STATUS
jest wyświetlany stanUp
, program SQL Server jest uruchomiony w kontenerze i nasłuchuje na porcie określonym w kolumniePORTS
. Jeśli kolumnaSTATUS
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.W ostatnim kroku zmień swoje hasło SA w środowisku produkcyjnym, ponieważ
MSSQL_SA_PASSWORD
jest widoczny wps -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.
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.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 iConnecting 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ń.
Utwórz nowe dane logowania i przypisz go do roli serwera sysadmin .
W zależności od tego, czy masz wdrożenie kontenera, czy nie kontenera, włącz uwierzytelnianie systemu Windows i utwórz nowe logowanie oparte na systemie Windows i dodaj je do roli serwera sysadmin .
W przeciwnym razie utwórz login przy użyciu uwierzytelniania SQL Server i dodaj go do roli serwera sysadmin.
Połącz się z wystąpieniem programu SQL Server przy użyciu nowo utworzonego loginu.
Wyłącz konto
sa
zgodnie z zaleceniami dotyczącymi najlepszych rozwiązań w zakresie zabezpieczeń.
Wyświetlanie listy kontenerów
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
Jeśli w kolumnie
STATUS
jest wyświetlany stanUp
, program SQL Server jest uruchomiony w kontenerze i nasłuchuje na porcie określonym w kolumniePORTS
. Jeśli kolumnaSTATUS
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.
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.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 iConnecting 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ń.
Utwórz nowe dane logowania i przypisz go do roli serwera sysadmin .
W zależności od tego, czy masz wdrożenie kontenera, czy nie kontenera, włącz uwierzytelnianie systemu Windows i utwórz nowe logowanie oparte na systemie Windows i dodaj je do roli serwera sysadmin .
W przeciwnym razie utwórz login przy użyciu uwierzytelniania SQL Server i dodaj go do roli serwera sysadmin.
Połącz się z wystąpieniem programu SQL Server przy użyciu nowo utworzonego loginu.
Wyłącz konto
sa
zgodnie z zaleceniami dotyczącymi najlepszych rozwiązań w zakresie zabezpieczeń.
Wyświetlanie listy kontenerów
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
Jeśli w kolumnie
STATUS
jest wyświetlany stanUp
, program SQL Server jest uruchomiony w kontenerze i nasłuchuje na porcie określonym w kolumniePORTS
. Jeśli kolumnaSTATUS
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.
Użyj polecenia
docker exec -it
, aby uruchomić interaktywną powłokę Bash wewnątrz uruchomionego kontenera. W poniższym przykładziesql1
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"
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 iConnecting 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>
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 iConnecting 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>
- 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
.
W wierszu polecenia sqlcmd wklej następujące polecenie Transact-SQL, aby utworzyć testową bazę danych:
CREATE DATABASE TestDB;
W następnym wierszu napisz zapytanie, aby zwrócić nazwę wszystkich baz danych na serwerze:
SELECT name FROM sys.databases;
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ę , Inventory
i wstaw dwa nowe wiersze.
W wierszu polecenia sqlcmd przełącz kontekst do nowej
TestDB
bazy danych:USE TestDB;
Utwórz nową tabelę o nazwie
Inventory
:CREATE TABLE Inventory ( id INT, name NVARCHAR (50), quantity INT );
Wstaw dane do nowej tabeli:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
Wpisz polecenie
GO
, aby uruchomić poprzednie polecenia:GO
Wybieranie danych
Teraz uruchom zapytanie, aby zwrócić dane z Inventory
tabeli.
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;
Uruchom polecenie:
GO
Zamknij wiersz polecenia sqlcmd
Aby zakończyć sesję sqlcmd , wpisz
QUIT
:QUIT
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.
Znajdź adres IP maszyny hosta kontenera przy użyciu polecenia
ifconfig
lubip addr
.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).
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.
Uruchom polecenie Transact-SQL. Po zakończeniu wpisz
QUIT
.
Inne typowe narzędzia do nawiązywania połączenia z programem SQL Server obejmują:
- Rozszerzenie programu SQL Server dla programu Visual Studio Code
- Zarządzanie programem SQL Server w systemie Linux przy użyciu programu SQL Server Management Studio w systemie Windows
- Co to jest usługa Azure Data Studio?
- mssql-cli (wersja zapoznawcza)
- Zarządzanie programem SQL Server w systemie Linux przy użyciu programu PowerShell Core
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.
Powiązane zadania
Treści powiązane
- Przywracanie bazy danych programu SQL Server w kontenerze systemu Linux
- Rozwiązywanie problemów z kontenerami SQL Server na Dockerze
- repozytorium GitHub mssql-docker
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.