Sdílet prostřednictvím


Konfigurace a přizpůsobení kontejnerů SQL Serveru s Linuxem

platí pro:SQL Server – Linux

Tento článek vysvětluje, jak nakonfigurovat a přizpůsobit kontejnery SQL Serveru s Linuxem pomocí Dockeru. Data můžete zachovat, přesunout soubory z kontejnerů a do kontejnerů a změnit výchozí nastavení.

Spropitné

K vytvoření nové instance SQL Serveru v kontejneru pro účely vývoje můžete použít sqlcmd (Go). Další informace najdete v tématu Vytvoření a dotazování kontejneru SQL Serveru.

Vytvoření přizpůsobeného kontejneru

Můžete vytvořit vlastní dockerfile pro sestavení přizpůsobeného kontejneru SQL Serveru. Další informace naleznete v tématu , ve kterém je ukázka, která kombinuje SQL Server a aplikaci Node. Pokud vytvoříte vlastní soubor Dockerfile, mějte na paměti hlavní proces, protože tento proces řídí životnost kontejneru. Pokud se ukončí, kontejner se vypne. Pokud například chcete spustit skript a následně spustit SQL Server, ujistěte se, že proces SQL Serveru je příkazem nejvíce vpravo. Všechny ostatní příkazy se spouští na pozadí. Následující příkaz to ilustruje v souboru Dockerfile:

/usr/src/app/do-my-sql-commands.sh & /opt/mssql/bin/sqlservr

Pokud jste příkazy v předchozím příkladu obrátili zpět, kontejner by se po dokončení skriptu do-my-sql-commands.sh vypnul.

Uchování dat

Změny konfigurace SQL Serveru a soubory databáze se uchovávají v kontejneru, i když kontejner restartujete pomocí docker stop a docker start. Pokud ale odeberete kontejner s docker rm, odstraní se všechno v kontejneru, včetně SQL Serveru a vašich databází. Následující část vysvětluje, jak pomocí datových svazků zachovat soubory databáze, i když jsou přidružené kontejnery odstraněny.

Důležitý

Pro SQL Server je důležité pochopit trvalost dat v Dockeru. Kromě diskuze v této části si přečtěte dokumentaci Dockeru o , jak spravovat data v kontejnerech Dockeru.

Připojte hostitelský adresář jako datový svazek

První možností je připojit adresář na vašem hostiteli jako datový svazek do kontejneru. K tomu použijte příkaz docker run s příznakem -v <host directory>:/var/opt/mssql, kde <host directory> je libovolná daná cesta. Například: C:\SQL ve Windows nebo ~/sqlvolumes v Linuxu. To umožňuje obnovení dat mezi spuštěními kontejneru.

Poznámka

Kontejnery pro SQL Server 2019 (15.x) a novější verze se automaticky spouštějí jako nekořenové, zatímco kontejnery SQL Serveru 2017 (14.x) se ve výchozím nastavení spouštějí jako root. Další informace o spouštění kontejnerů SQL Serveru jako ne root naleznete v tématu Zabezpečení kontejnerů SQL Serveru Linux.

Důležitý

Proměnná prostředí SA_PASSWORD je zastaralá. Místo toho použijte MSSQL_SA_PASSWORD.

docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 \
-v <host directory>/data:/var/opt/mssql/data \
-v <host directory>/log:/var/opt/mssql/log \
-v <host directory>/secrets:/var/opt/mssql/secrets \
-d mcr.microsoft.com/mssql/server:2017-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 `
-v <host directory>/data:/var/opt/mssql/data `
-v <host directory>/log:/var/opt/mssql/log `
-v <host directory>/secrets:/var/opt/mssql/secrets `
-d mcr.microsoft.com/mssql/server:2017-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-p 1433:1433 ^
-v <host directory>/data:/var/opt/mssql/data ^
-v <host directory>/log:/var/opt/mssql/log ^
-v <host directory>/secrets:/var/opt/mssql/secrets ^
-d mcr.microsoft.com/mssql/server:2017-latest
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 \
-v <host directory>/data:/var/opt/mssql/data \
-v <host directory>/log:/var/opt/mssql/log \
-v <host directory>/secrets:/var/opt/mssql/secrets \
-d mcr.microsoft.com/mssql/server:2019-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 `
-v <host directory>/data:/var/opt/mssql/data `
-v <host directory>/log:/var/opt/mssql/log `
-v <host directory>/secrets:/var/opt/mssql/secrets `
-d mcr.microsoft.com/mssql/server:2019-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-p 1433:1433 ^
-v <host directory>/data:/var/opt/mssql/data ^
-v <host directory>/log:/var/opt/mssql/log ^
-v <host directory>/secrets:/var/opt/mssql/secrets ^
-d mcr.microsoft.com/mssql/server:2019-latest
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 \
-v <host directory>/data:/var/opt/mssql/data \
-v <host directory>/log:/var/opt/mssql/log \
-v <host directory>/secrets:/var/opt/mssql/secrets \
-d mcr.microsoft.com/mssql/server:2022-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 `
-v <host directory>/data:/var/opt/mssql/data `
-v <host directory>/log:/var/opt/mssql/log `
-v <host directory>/secrets:/var/opt/mssql/secrets `
-d mcr.microsoft.com/mssql/server:2022-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-p 1433:1433 ^
-v <host directory>/data:/var/opt/mssql/data ^
-v <host directory>/log:/var/opt/mssql/log ^
-v <host directory>/secrets:/var/opt/mssql/secrets ^
-d mcr.microsoft.com/mssql/server:2022-latest

Opatrnost

Vaše heslo by mělo postupovat podle výchozích zásad hesel SQL Serveru . Ve výchozím nastavení musí heslo obsahovat alespoň osm znaků a musí obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, číslice se základem 10 a symboly. Hesla můžou mít délku až 128 znaků. Používejte hesla, která jsou co nejdéle a složitá.

Tato technika také umožňuje sdílet a zobrazovat soubory na hostiteli mimo Docker.

Použití kontejnerů datového svazku

Druhou možností je použít kontejner datového svazku. Kontejner datového svazku můžete vytvořit zadáním názvu svazku místo adresáře hostitele s parametrem -v. Následující příklad vytvoří sdílený datový svazek s názvem sqlvolume.

docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 \
-v sqlvolume:/var/opt/mssql \
-d mcr.microsoft.com/mssql/server:2017-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 `
-v sqlvolume:/var/opt/mssql `
-d mcr.microsoft.com/mssql/server:2017-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-p 1433:1433 ^
-v sqlvolume:/var/opt/mssql ^
-d mcr.microsoft.com/mssql/server:2017-latest
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 \
-v sqlvolume:/var/opt/mssql \
-d mcr.microsoft.com/mssql/server:2019-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 `
-v sqlvolume:/var/opt/mssql `
-d mcr.microsoft.com/mssql/server:2019-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-p 1433:1433 ^
-v sqlvolume:/var/opt/mssql ^
-d mcr.microsoft.com/mssql/server:2019-latest
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 \
-v sqlvolume:/var/opt/mssql \
-d mcr.microsoft.com/mssql/server:2022-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 `
-v sqlvolume:/var/opt/mssql `
-d mcr.microsoft.com/mssql/server:2022-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-p 1433:1433 ^
-v sqlvolume:/var/opt/mssql ^
-d mcr.microsoft.com/mssql/server:2022-latest

Opatrnost

Vaše heslo by mělo postupovat podle výchozích zásad hesel SQL Serveru . Ve výchozím nastavení musí heslo obsahovat alespoň osm znaků a musí obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, číslice se základem 10 a symboly. Hesla můžou mít délku až 128 znaků. Používejte hesla, která jsou co nejdéle a složitá.

Tato technika pro implicitní vytvoření datového svazku v příkazu run nefunguje se staršími verzemi Dockeru. V takovém případě použijte explicitní kroky popsané v dokumentaci k Dockeru Vytvoření a připojení kontejneru datového svazku.

I když tento kontejner zastavíte a odeberete, datový svazek se zachová. Můžete ho zobrazit pomocí příkazu docker volume ls.

docker volume ls

Pokud pak vytvoříte jiný kontejner se stejným názvem svazku, použije nový kontejner stejná data SQL Serveru obsažená ve svazku.

Pokud chcete odebrat kontejner datového svazku, použijte příkaz docker volume rm.

Varování

Pokud kontejner datového svazku odstraníte, všechna data SQL Serveru v kontejneru se trvale odstraněna.

Zálohování a obnovení

Kromě těchto technik kontejnerů můžete také použít standardní techniky zálohování a obnovení SQL Serveru. Záložní soubory můžete použít k ochraně dat nebo k přesunu dat do jiné instance SQL Serveru. Další informace najdete v tématu Zálohování a obnovení databází SQL Serveru v systému Linux.

Varování

Pokud vytváříte zálohy, nezapomeňte vytvořit nebo zkopírovat záložní soubory mimo kontejner. Jinak se při odebrání kontejneru odstraní také záložní soubory.

Povolení zálohování a obnovení VDI v kontejnerech

Operace zálohování a obnovení rozhraní VDI (Virtual Device Interface) se teď podporují v nasazeních kontejnerů SQL Serveru počínaje CU15 pro SQL Server 2019 (15.x) a CU28 pro SQL Server 2017 (14.x). Pokud chcete povolit zálohování nebo obnovení založené na VDI pro kontejnery SQL Serveru, postupujte takto:

  1. Při nasazování kontejnerů SQL Serveru použijte možnost --shm-size. Začněte tím, že nastavíte velikost na 1 GB, jak je znázorněno v následujícím příkazu. Nahraďte <password> platným heslem.

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

    Možnost --shm-size umožňuje nakonfigurovat velikost adresáře sdílené paměti (/dev/shm) uvnitř kontejneru, který je ve výchozím nastavení nastaven na 64 MB. Tato výchozí velikost sdílené paměti není dostatečná pro podporu záloh VDI. Doporučujeme, abyste tuto konfiguraci nakonfigurovali na minimálně 1 GB při nasazování kontejnerů SQL Serveru a chcete podporovat zálohy VDI.

  2. Musíte také povolit nový parametr memory.enablecontainersharedmemory v mssql.conf uvnitř kontejneru. Můžete připojit mssql.conf při nasazování kontejneru pomocí možnosti -v, jak je popsáno v části Uchování dat, nebo po nasazení kontejneru ručně aktualizovat mssql.conf uvnitř kontejneru. Tady je ukázkový soubor mssql.conf s nastavením memory.enablecontainersharedmemory nastaveným na true.

    [memory]
    enablecontainersharedmemory = true
    

Kopírování souborů z kontejneru

Pokud chcete zkopírovat soubor z kontejneru, použijte následující příkaz:

docker cp <Container ID>:<Container path> <host path>

ID kontejneru můžete získat spuštěním příkazu docker ps -a.

Příklad :

docker cp d6b75213ef80:/var/opt/mssql/log/errorlog /tmp/errorlog
docker cp d6b75213ef80:/var/opt/mssql/log/errorlog C:\Temp\errorlog
docker cp d6b75213ef80:/var/opt/mssql/log/errorlog C:\Temp\errorlog

Kopírování souborů do kontejneru

Pokud chcete zkopírovat soubor do kontejneru, použijte následující příkaz:

docker cp <Host path> <Container ID>:<Container path>

Příklad :

docker cp /tmp/mydb.mdf d6b75213ef80:/var/opt/mssql/data
docker cp C:\Temp\mydb.mdf d6b75213ef80:/var/opt/mssql/data
docker cp C:\Temp\mydb.mdf d6b75213ef80:/var/opt/mssql/data

Konfigurace časového pásma

Pokud chcete spustit SQL Server v kontejneru Linuxu s určitým časovým pásmem, nakonfigurujte TZ proměnnou prostředí (další informace najdete v tématu Konfigurace časového pásma pro SQL Server 2022 a novější verze v Linuxu ). Pokud chcete najít správnou hodnotu časového pásma, spusťte příkaz tzselect z příkazového řádku bash s Linuxem:

tzselect

Po výběru časového pásma tzselect zobrazí výstup podobný následujícímu příkladu:

The following information has been given:

    United States
    Pacific

Therefore TZ='America/Los_Angeles' will be used.

Tyto informace můžete použít k nastavení stejné proměnné prostředí v Linuxovém kontejneru. Následující příklad ukazuje, jak spustit SQL Server v kontejneru v Americas/Los_Angeles časovém pásmu:

sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 --name sql1 \
-e 'TZ=America/Los_Angeles' \
-d mcr.microsoft.com/mssql/server:2017-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 --name sql1 `
-e "TZ=America/Los_Angeles" `
-d mcr.microsoft.com/mssql/server:2017-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" ^
-p 1433:1433 --name sql1 ^
-e "TZ=America/Los_Angeles" ^
-d mcr.microsoft.com/mssql/server:2017-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 --name sql1 \
-e 'TZ=America/Los_Angeles' \
-d mcr.microsoft.com/mssql/server:2019-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 --name sql1 `
-e "TZ=America/Los_Angeles" `
-d mcr.microsoft.com/mssql/server:2019-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 --name sql1 `
-e "TZ=America/Los_Angeles" `
-d mcr.microsoft.com/mssql/server:2019-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 --name sql1 \
-e 'TZ=America/Los_Angeles' \
-d mcr.microsoft.com/mssql/server:2022-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 --name sql1 `
-e "TZ=America/Los_Angeles" `
-d mcr.microsoft.com/mssql/server:2022-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" ^
-p 1433:1433 --name sql1 ^
-e "TZ=America/Los_Angeles" ^
-d mcr.microsoft.com/mssql/server:2022-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-p 1433:1433 --name sql1 \
-e 'TZ=America/Los_Angeles' \
-d mcr.microsoft.com/mssql/server:2025-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" `
-p 1433:1433 --name sql1 `
-e "TZ=America/Los_Angeles" `
-d mcr.microsoft.com/mssql/server:2025-latest
sudo docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" ^
-p 1433:1433 --name sql1 ^
-e "TZ=America/Los_Angeles" ^
-d mcr.microsoft.com/mssql/server:2025-latest

Opatrnost

Vaše heslo by mělo postupovat podle výchozích zásad hesel SQL Serveru . Ve výchozím nastavení musí heslo obsahovat alespoň osm znaků a musí obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, číslice se základem 10 a symboly. Hesla můžou mít délku až 128 znaků. Používejte hesla, která jsou co nejdéle a složitá.

Změňte cestu tempdb

Je vhodné zachovat tempdb databázi odděleně od uživatelských databází.

  1. Připojte se k instanci SQL Serveru a spusťte následující skript Transact-SQL (T-SQL). Pokud je k tempdbpřidruženo více souborů, musíte je také přesunout.

    ALTER DATABASE tempdb
        MODIFY FILE (NAME = tempdev, FILENAME = '/var/opt/mssql/tempdb/tempdb.mdf');
    GO
    
    ALTER DATABASE tempdb
        MODIFY FILE (NAME = templog, FILENAME = '/var/opt/mssql/tempdb/templog.ldf');
    GO
    
  2. Pomocí následujícího skriptu T-SQL ověřte, že bylo změněno umístění souboru tempdb:

    SELECT *
    FROM sys.sysaltfiles
    WHERE dbid = 2;
    
  3. Aby se tyto změny projevily, musíte restartovat kontejner SQL Serveru.

    docker stop sql1
    docker start sql1
    
    docker stop sql1
    docker start sql1
    
    docker stop sql1
    docker start sql1
    
  4. Otevřete interaktivní relaci bash pro připojení ke kontejneru.

    docker exec -it sql1 bash
    
    docker exec -it sql1 bash
    
    docker exec -it sql1 bash
    

    Po připojení k interaktivnímu prostředí spusťte následující příkaz a zkontrolujte umístění tempdb:

    ls /var/opt/mssql/tempdb/
    

    Pokud byl přesun úspěšný, zobrazí se podobný výstup:

    tempdb.mdf templog.ldf
    

Změna výchozího umístění souboru

Přidejte proměnnou MSSQL_DATA_DIR pro změnu datového adresáře v příkazu docker run a pak připojte svazek k danému umístění, ke kterému má uživatel kontejneru přístup.

docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-e 'MSSQL_DATA_DIR=/my/file/path' \
-v /my/host/path:/my/file/path \
-p 1433:1433 \
-d mcr.microsoft.com/mssql/server:2017-latest
docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" `
-e "MSSQL_DATA_DIR=/my/file/path" `
-v /my/host/path:/my/file/path `
-p 1433:1433 `
-d mcr.microsoft.com/mssql/server:2017-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-e "MSSQL_DATA_DIR=/my/file/path" ^
-v /my/host/path:/my/file/path ^
-p 1433:1433 ^
-d mcr.microsoft.com/mssql/server:2017-latest
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-e 'MSSQL_DATA_DIR=/my/file/path' \
-v /my/host/path:/my/file/path \
-p 1433:1433 \
-d mcr.microsoft.com/mssql/server:2019-latest
docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" `
-e "MSSQL_DATA_DIR=/my/file/path" `
-v /my/host/path:/my/file/path `
-p 1433:1433 `
-d mcr.microsoft.com/mssql/server:2019-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-e "MSSQL_DATA_DIR=/my/file/path" ^
-v /my/host/path:/my/file/path ^
-p 1433:1433 ^
-d mcr.microsoft.com/mssql/server:2019-latest
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-e 'MSSQL_DATA_DIR=/my/file/path' \
-v /my/host/path:/my/file/path \
-p 1433:1433 \
-d mcr.microsoft.com/mssql/server:2022-latest
docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" `
-e "MSSQL_DATA_DIR=/my/file/path" `
-v /my/host/path:/my/file/path `
-p 1433:1433 `
-d mcr.microsoft.com/mssql/server:2022-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-e "MSSQL_DATA_DIR=/my/file/path" ^
-v /my/host/path:/my/file/path ^
-p 1433:1433 ^
-d mcr.microsoft.com/mssql/server:2022-latest
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' \
-e 'MSSQL_DATA_DIR=/my/file/path' \
-v /my/host/path:/my/file/path \
-p 1433:1433 \
-d mcr.microsoft.com/mssql/server:2025-latest
docker run -e 'ACCEPT_EULA=Y' -e "MSSQL_SA_PASSWORD=<password>" `
-e "MSSQL_DATA_DIR=/my/file/path" `
-v /my/host/path:/my/file/path `
-p 1433:1433 `
-d mcr.microsoft.com/mssql/server:2025-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" ^
-e "MSSQL_DATA_DIR=/my/file/path" ^
-v /my/host/path:/my/file/path ^
-p 1433:1433 ^
-d mcr.microsoft.com/mssql/server:2025-latest

Konfigurace SQL Serveru v kontejneru pomocí nástroje mssql-config

K nastavení parametrů v kontejnerech SQL Serveru můžete použít nástroj mssql-conf.

Můžete například nastavit limit paměti pro instanci pomocí následujícího postupu:

  1. Připojte se přímo ke kontejneru pomocí docker exec jako uživatel root. Nahraďte sqlcontainer názvem kontejneru.

    docker exec -u root -it sqlcontainer "bash"
    
  2. Ke změně nastavení použijte mssql-conf. Tento příklad změní nastavení memory.memorylimitmb na 2 GB (2 048 MB).

    /opt/mssql/bin/mssql-conf set memory.memorylimitmb 2048
    

Příklady vlastních kontejnerů Dockeru

Příklady vlastních kontejnerů Dockeru najdete v tématu https://github.com/microsoft/mssql-docker/tree/master/linux/preview/examples. Mezi příklady patří:

Informace o vytváření a spouštění kontejnerů Dockeru pomocí souborů Dockerfile najdete v ukázkách ML Services na GitHubu.

Konfigurace limitů paměti pomocí řídicí skupiny (cgroup) v2

Počínaje SQL Serverem 2025 (17.x) a SQL Serverem 2022 (16.x) CU 20 sql Server detekuje a respektuje omezení kontrolní skupiny (cgroup) v2, zlepšuje stabilitu výkonu a izolaci prostředků napříč prostředími Docker, Kubernetes a OpenShift. Skupiny ovládacích prvků umožňují jemně odstupňované řízení v jádru Linuxu nad systémovými prostředky, jako je procesor a paměť.

Díky podpoře cgroup v2 SQL Server snižuje chyby nedostatku paměti (OOM) dříve zjištěné v kontejnerizovaných nasazeních, zejména v clusterech Kubernetes (například AKS v1.25+), kde se nevynucovaly limity paměti definované ve specifikacích kontejnerů.

Kontrola verze cgroup

stat -fc %T /sys/fs/cgroup

Výsledky jsou následující:

Result Description
cgroup2fs Používáte cgroup v2
cgroup Používáte cgroup v1

Přepnutí na cgroup v2

Nejjednodušší cestou je volba distribuce, která podporuje cgroup v2.

Pokud potřebujete přepnout ručně, přidejte do konfigurace GRUB následující řádek:

systemd.unified_cgroup_hierarchy=1

Potom spuštěním následujícího příkazu aktualizujte GRUB:

sudo update-grub

Další informace najdete v následujících zdrojích informací:

  • Začněte s obrazy kontejnerů SQL Serveru 2017 (14.x) v Dockeru pomocí rychlého startu .
  • Začněte pracovat s image kontejneru SQL Serveru 2019 (15.x) na Dockeru tím, že projdete rychlý průvodce
  • Začněte s imagemi kontejneru SQL Serveru 2022 (16.x) v Dockeru tím, že projdete rychlého průvodce .
  • Začínáme s obrázky kontejnerů SQL Serveru 2025 (17.x) v Dockeru pomocí rychlého průvodce

přispívat do dokumentace SQL

Věděli jste, že obsah SQL můžete upravovat sami? Pokud to uděláte, nejen že vám pomůžete vylepšit naši dokumentaci, ale také jste získali kredit jako přispěvatel na stránku.

Další informace naleznete v Edit Microsoft Learn documentation.