Detaillierte Schritte zum Bereitstellen von Microsoft SQL Server mit Docker

Detaillierte Schritte zum Bereitstellen von Microsoft SQL Server mit Docker

1 Hintergrund

Ab SQL Server 2019 CU3 wird Ubuntu 18.04 unterstützt.

Ab SQL Server 2019 CU10 wird Ubuntu 20.04 unterstützt.

Docker Engine 1.8+

Mindestens 2 GB Festplattenspeicher Mindestens 2 GB RAM

Blog-Host-Rechner:

Willkommen bei Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-37-generic x86_64)

2 Erstellen Sie einen Container

Ziehen Sie das Bild

Docker-Pull mcr.microsoft.com/mssql/server:2019-latest

Spiegel anzeigen

Docker-Bilder 
root@dev-virtual-machine:/home/dev# Docker-Bilder 
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
mcr.microsoft.com/mssql/server 2019-latest 6db3c5ebc331 vor 3 Wochen 1,55 GB

Ausführen des Containers

Docker-Lauf 
-e "ACCEPT_EULA=Y" 
-e "SA_PASSWORD=Passwort@w0rd"    
-p 51433:1433 
--name mssql 
-h mssql    
-d mcr.microsoft.com/mssql/server:2019-latest 
Parameter veranschaulichen
-e „ACCEPT_EULA=Y“ Setzt die Variable ACCEPT_EULA auf einen beliebigen Wert, um die Annahme der Endbenutzer-Lizenzvereinbarung zu bestätigen. Erforderliche Einstellungen für SQL Server-Images.
-e „SA_PASSWORD=Passw0rd“ Gibt ein sicheres Kennwort an, das mindestens 8 Zeichen lang ist und die Kennwortanforderungen des SQL Servers erfüllt. Erforderliche Einstellungen für SQL Server-Images.
-p 51433:1433 ordnet einen TCP-Port in der Hostumgebung (der erste Wert) einem TCP-Port im Container (der zweite Wert) zu. In diesem Beispiel lauscht SQL Server im Container auf TCP 1433 und ist auf dem Host dem Port 1433 ausgesetzt.
–name sql1 Gibt einen benutzerdefinierten Namen für den Container an, anstatt einen zufällig generierten Namen zu verwenden. Wenn Sie mehrere Container ausführen, können Sie denselben Namen nicht wiederverwenden.
-h sql1 wird verwendet, um den Hostnamen des Containers explizit festzulegen. Wenn Sie ihn nicht angeben, wird standardmäßig die Container-ID verwendet. Die ID ist eine zufällig generierte System-GUID.
mcr.microsoft.com/mssql/server:2019-latest SQL Server 2019 Ubuntu Linux-Containerimage.

Container anzeigen

root@dev-virtual-machine:/home/dev# docker ps 
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
6498220c95f6 mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" vor 24 Minuten Vor 23 Minuten 0.0.0.0:51433->1433/tcp, :::51433->1433/tcp mssql

Wenn Sie -h und --name auf denselben Wert setzen, können Sie den Zielcontainer problemlos identifizieren.

3 SA-Passwort ändern

Microsoft empfiehlt offiziell die Änderung des SA-Passworts

Das SA-Konto ist ein Systemadministrator, der während der Installation auf der SQL Server-Instanz erstellt wird. Nachdem Sie den SQL Server-Container erstellt haben, können Sie die angegebene Umgebungsvariable SA_PASSWORD ermitteln, indem Sie echo $SA_PASSWORD im Container ausführen.

Wählen Sie für den SA-Benutzer ein sicheres Kennwort.

Verwenden Sie Docker Exec, um SQLCMD auszuführen und das Kennwort mit Transact-SQL zu ändern. Das folgende Beispiel liest das alte und das neue Passwort aus der Benutzereingabe.

sudo docker exec -it mssql /opt/mssql-tools/bin/sqlcmd \
-S lokaler Host -U SA \
 -P "$(read -sp "Geben Sie das aktuelle SA-Passwort ein: "; echo "${REPLY}")" \
 -Q "ALTER LOGIN SA WITH PASSWORD=\"$(read -sp "Geben Sie das neue SA-Passwort ein: "; echo "${REPLY}")\""

4 Verknüpfen von mssql

Die folgenden Schritte verwenden das SQL Server-Befehlszeilentool sqlcmd, um innerhalb des Containers eine Verbindung mit SQL Server herzustellen.

Verwenden Sie den Befehl docker exec -it, um eine interaktive Bash-Shell innerhalb eines laufenden Containers zu starten. Im folgenden Beispiel ist mssql der Name, der beim Erstellen des Containers durch den Parameter --name angegeben wird.

sudo docker exec -it mssql "bash"

Verwenden Sie sqlcmd innerhalb des Containers, um eine lokale Verbindung herzustellen. Standardmäßig befindet sich sqlcmd nicht in Ihrem Pfad, daher muss der vollständige Pfad angegeben werden.

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Passwort"

Bei Erfolg sollte die sqlcmd-Eingabeaufforderung erscheinen: 1>

5. Verknüpfen Sie mssql außerhalb des Containers

1. Suchen Sie die IP-Adresse des Computers, auf dem der Container gehostet wird. Verwenden Sie unter Linux ifconfig oder IP-Adresse. Verwenden Sie unter Windows ipconfig.

2. Installieren Sie für dieses Beispiel das Tool sqlcmd auf dem Clientcomputer

3. Führen Sie sqlcmd aus und geben Sie dabei die IP-Adresse und den Port an, der im Container Port 1433 entspricht. In diesem Fall ist das Port 51433 auf dem Host, also verwenden Sie ihn hier. Sie müssen außerdem die entsprechenden eingehenden Ports Ihrer Firewall öffnen, um die Verbindung zuzulassen.

4. Führen Sie Transact-SQL-Befehle aus. Wenn Sie fertig sind, geben Sie QUIT ein.

Navicat Link-Hinweise

Wenn Sie Navicat zum Herstellen einer Verbindung mit der SQLserver-Datenbank verwenden und die Portnummer nicht die Standardportnummer ist, müssen Sie nach der Host-IP ein Komma plus die Portnummer verwenden.

Für Navicat müssen Sie nach den obigen Einstellungen den SQL Server Native Client 10.0-Treiber installieren. Das Installationsprogramm befindet sich sqlncli_x64.msi im Stammverzeichnis der Navicat-Software. Die 32-Bit-Version ist ebenfalls verfügbar. Nachdem die Installation abgeschlossen ist, verfügt der Native Client-Treiber auf der Registerkarte „Erweitert“ über eine Dropdown-Option, aus der Sie beim Erstellen einer SQL Server-Verbindung auswählen können.

Zusammenfassen

Dies ist das Ende dieses Artikels über die detaillierten Schritte zur Bereitstellung von Microsoft SQL Server mit Docker. Weitere Informationen zur Bereitstellung von Microsoft SQL Server mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Installieren Sie die SQL Server-Datenbank über Docker auf einem Linux-System
  • Docker stellt Mysql, .Net6, Sqlserver und andere Container bereit
  • Implementierung der Docker-Bereitstellung des SQL Server 2019 Always On-Clusters
  • Implementierung der Ausführung von SQL Server mit Docker
  • So führen Sie Microsoft SQL Server 2017 mit Docker aus
  • Bereitstellen von MSSQL in einem Docker-Container

<<:  Detaillierte Erklärung der Eigenschaften, Unterschiede und Konvertierung von px, em, rem und pt in CSS

>>:  Eine Sammlung gängiger Verwendungen von HTML-Meta-Tags

Artikel empfehlen

Beispiel-Tutorial für MySQL-Datenbanktransaktionen

Inhaltsverzeichnis 1. Was ist eine Transaktion? 2...

Drei Methoden zum Ändern des Hostnamens von Centos7

Methode 1: Hostnamectl-Änderung Schritt 1 Überprü...

Reines js, um einen Schreibmaschineneffekt zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

Beispiel für die Bereitstellung von MySQL auf Docker

Inhaltsverzeichnis 1 Was ist eine Container-Cloud...

Inaktive Benutzer nach einem Login-Timeout in Linux automatisch abmelden

Methode 1: Ändern Sie die Datei .bashrc oder .bas...

Docker: Zeigen Sie den Mount-Verzeichnisvorgang des Containers an

Nur Informationen zum Mount-Verzeichnis des Docke...

Einführung in das Enctype-Attribut des Form-Tags und seine Anwendungsbeispiele

Enctype: Gibt den Kodierungstyp an, der vom Browse...

Lösung, wenn der Docker-Container nicht auf den Host-Port zugreifen kann

Ich bin kürzlich bei der Arbeit auf ein Problem g...

In JavaScript integrierter Zeit- und Datumsformatierungsbeispielcode

1. Grundkenntnisse (Methoden von Datumsobjekten) ...