Docker Container Linux
Beschreibung:
Installation in einem Docker container.
Der Instanzname kann leider nicht geändert werden und heißt immer MSSQLSERVER.
Der hintergrund ist für mehrere instanzen, mehere Docker conatiner zu fahren.
Vorraussetzung:
apt install docker-compose
Installation
Wir nutzen hier eine docker compose Datei.
Verzeichnisstruktur anlegen
Dieses Verzeichnis representiert das /var/opt/mssql Verzeichnis im Container
mkdir -p /root/mssql/data
möchte man noch Daten migrieren , dann diese hier reinkopieren
Nun noch die Berechtigung für den mssql benutzer setzten.
Da es diesen auf dem Host natürlich nicht sondern nur im Container nutzen wir hier die ID
chown -R 10001:10001 /root/mssql/data
chmod -R 700 /root/mssql/data
Docker Dateien anlegen
Nun legen wir eine .env Datei im mssql Verzeichnis an,
Das Kennwort darin wird ignoriert wenn schon vorher eine Datenbank reinkopiert wurde.
nano /root/mmsql/.env
Inhalt
DATA_DIRECTORY=/root/mssql/data
SA_PASSWORD=IhrStarkesKennwort
nun die Docker compose Datei.
nano /root/mssql/docker-compose.yml
Inhalt
version: '3.8'
services:
mssql-server:
image: mcr.microsoft.com/mssql/server:2019-latest
environment:
ACCEPT_EULA: 'Y'
SA_PASSWORD: ${SA_PASSWORD}
MSSQL_PID: 'Express'
volumes:
- ${DATA_DIRECTORY}:/var/opt/mssql
ports:
- "1433:1433"
restart: always
Über das Image kann man die Version anpassen.
Mit MSSQL_PID: wir die Editionsvariante angeben
-
Express:
MSSQL_PID='Express'. Diese Edition ist kostenlos und eignet sich für leichte, weniger anspruchsvolle Datenbankanwendungen. Sie hat Einschränkungen in Bezug auf die Datenbankgröße und die Ressourcennutzung. -
Developer:
MSSQL_PID='Developer'. Diese Edition ist ebenfalls kostenlos und bietet alle Funktionen der Enterprise Edition, ist jedoch nur für Entwicklung und Testzwecke lizenziert, nicht für Produktionsumgebungen. -
Standard:
MSSQL_PID='Standard'. Diese Edition ist für kleinere bis mittelgroße Unternehmen gedacht und bietet mehr Funktionen als die Express Edition, einschließlich Unterstützung für größere Datenbanken und mehrere Prozessoren. -
Enterprise:
MSSQL_PID='Enterprise'. Dies ist die voll ausgestattete Edition, die für große Unternehmen und anspruchsvolle Datenbankanwendungen geeignet ist. Sie bietet die fortschrittlichsten Funktionen. -
Web:
MSSQL_PID='Web'. Diese Edition ist speziell für Webhosting-Umgebungen konzipiert. -
Evaluation:
MSSQL_PID='Evaluation'. Diese Edition ist eine Testversion, die alle Funktionen der Enterprise Edition bietet, aber nur für 180 Tage gültig ist.
Container starten
Nun ins mssql verzeichnis wechseln und den Container starten
cd /root/mssql
docker-compose up -d
Auf den Datenbank-Server zugreifen
In Anwendungen nur die IP Adresse angeben, den sa Benutzer und das Kennwort.
In der Docker Variante wird dann instanzname MSSQLSERVER nicht nach außen getragen.
Also der Standard IP\SQLINSTANZ entfällt
Also nur noch IP.