Nasazení Azure SQL Edge pomocí Dockeru
Důležité
Azure SQL Edge už nepodporuje platformu ARM64.
V tomto rychlém startu použijete Docker k načtení a spuštění image kontejneru Azure SQL Edge. Pak se připojte pomocí sqlcmd , vytvořte svou první databázi a spusťte dotazy.
Tato image se skládá z SQL Edge založeného na Ubuntu 18.04. Dá se použít s modulem Docker Engine 1.8 nebo novějším v Linuxu.
kontejnery Azure SQL Edge se nepodporují na následujících platformách pro produkční úlohy:
- Windows
- macOS
- Azure IoT Edge pro Linux ve Windows (EFLOW)
Požadavky
- Docker Engine 1.8 nebo novější ve všech podporovaných distribucích Linuxu. Další informace najdete v tématu Instalace Dockeru. Vzhledem k tomu, že image SQL Edge jsou založené na Ubuntu 18.04, doporučujeme použít hostitele Dockeru s Ubuntu 18.04.
- Ovladač úložiště Docker overlay2 . Toto je výchozí nastavení pro většinu uživatelů. Pokud zjistíte, že tohoto poskytovatele úložiště nepoužíváte a potřebujete to změnit, přečtěte si pokyny a upozornění v dokumentaci k Dockeru pro konfiguraci překrytí2.
- Minimálně 10 GB místa na disku.
- Minimálně 1 GB paměti RAM.
- Požadavky na hardware pro Azure SQL Edge
Poznámka
Pro příkazy Bash v tomto článku sudo
se používají. Pokud nechcete ke spuštění Dockeru použít sudo
, můžete nakonfigurovat skupinu Dockeru a přidat do této skupiny uživatele. Další informace najdete v tématu Postup po instalaci pro Linux.
Vyžádání a spuštění image kontejneru
Stáhněte image kontejneru Azure SQL Edge ze služby Microsoft Container Registry.
sudo docker pull mcr.microsoft.com/azure-sql-edge:latest
Předchozí příkaz stáhne nejnovější image kontejneru SQL Edge. Pokud chcete zobrazit všechny dostupné image, podívejte se na stránku centra Dockeru azure-sql-edge.
Pokud chcete spustit image kontejneru s Dockerem, použijte následující příkaz z prostředí Bash:
Spusťte instanci Azure SQL Edge spuštěnou jako edici Developer:
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge
Spusťte instanci Azure SQL Edge spuštěnou jako edici Premium:
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=yourStrong(!)Password' -e 'MSSQL_PID=Premium' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge
Důležité
Heslo by se mělo řídit výchozími zásadami hesel microsoft SQL Database Engine, jinak kontejner nemůže nastavit SQL Database Engine a přestane fungovat. Ve výchozím nastavení musí mít heslo délku nejméně 8 znaků a musí obsahovat znaky ze tří z následujících čtyř sad: velká písmena, malá písmena, základní 10 číslice a symboly. Protokol chyb můžete prozkoumat spuštěním příkazu docker logs .
Následující tabulka obsahuje popis parametrů v předchozích
docker run
příkladech:Parametr Popis -e "ACCEPT_EULA=Y" Nastavením proměnné ACCEPT_EULA na libovolnou hodnotu potvrďte, že souhlasíte s licenční smlouvou s koncovým uživatelem. Požadované nastavení pro image SQL Edge -e "MSSQL_SA_PASSWORD=yourStrong(!) Heslo" Zadejte vlastní silné heslo, které má alespoň osm znaků a splňuje požadavky na heslo Azure SQL Edge. Požadované nastavení pro image SQL Edge -p 1433:1433 Namapujte port TCP v hostitelském prostředí (první hodnota) na port TCP v kontejneru (druhá hodnota). V tomto příkladu SQL Edge naslouchá na protokolu TCP 1433 v kontejneru a to je vystaveno na portu 1433 na hostiteli. --name azuresqledge Místo náhodně generovaného kontejneru zadejte vlastní název. Pokud spustíte více než jeden kontejner, nemůžete stejný název znovu použít. -D Spuštění kontejneru na pozadí (démon) Úplný seznam všech proměnných prostředí Azure SQL Edge najdete v tématu Konfigurace Azure SQL Edge pomocí proměnných prostředí. Ke konfiguraci kontejnerů SQL Edge můžete použít také soubor mssql.conf.
K zobrazení kontejnerů Dockeru
docker ps
použijte příkaz .sudo docker ps -a
Pokud se ve sloupci STATUS zobrazuje stav Nahoru, sql Edge běží v kontejneru a naslouchá na portu zadaném ve sloupci PORTY . Pokud se ve sloupci STAV kontejneru SQL Edge zobrazuje Stav ukončeno, přečtěte si část Řešení potíží v dokumentaci k Azure SQL Edgi.
Parametr
-h
(název hostitele) je také užitečný, ale pro zjednodušení se v tomto kurzu nepoužívá. Tím se změní interní název kontejneru na vlastní hodnotu. Toto je název, který je vrácen v následujícím dotazu Transact-SQL:SELECT @@SERVERNAME, SERVERPROPERTY('ComputerNamePhysicalNetBIOS'), SERVERPROPERTY('MachineName'), SERVERPROPERTY('ServerName');
Nastavení
-h
a--name
na stejnou hodnotu je dobrým způsobem, jak snadno identifikovat cílový kontejner.Jako poslední krok změňte heslo SA, protože
MSSQL_SA_PASSWORD
je viditelné veps -eax
výstupu a uložené v proměnné prostředí se stejným názvem. Projděte si následující kroky.
Změna hesla SA
Účet SA je správcem systému v instanci Azure SQL Edge, která se vytvoří během instalace. Po vytvoření kontejneru MSSQL_SA_PASSWORD
SQL Edge je zadaná proměnná prostředí zjistitelná spuštěním echo $MSSQL_SA_PASSWORD
v kontejneru. Z bezpečnostních důvodů si změňte heslo SA.
Zvolte silné heslo, které chcete použít pro uživatele SA.
Pomocí
docker exec
příkazu sqlcmd můžete změnit heslo pomocí jazyka Transact-SQL. V následujícím příkladu nahraďte staré heslo<YourStrong!Passw0rd>
a nové heslo<YourNewStrong!Passw0rd>
vlastními hodnotami hesla.sudo docker exec -it azuresqledge /opt/mssql-tools/bin/sqlcmd \ -S localhost -U SA -P "<YourStrong@Passw0rd>" \ -Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong@Passw0rd>"'
Připojení k Azure SQL Edge
Následující kroky používají nástroj příkazového řádku Azure SQL Edge sqlcmd uvnitř kontejneru pro připojení k SQL Edge.
Pomocí příkazu
docker exec -it
spusťte interaktivní prostředí Bash uvnitř spuštěného kontejneru. V následujícím příkladuazuresqledge
je název zadaný parametrem--name
při vytváření kontejneru.sudo docker exec -it azuresqledge "bash"
Jakmile budete uvnitř kontejneru, připojte se místně pomocí sqlcmd. sqlcmd není ve výchozím nastavení v cestě, takže musíte zadat úplnou cestu.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
Tip
Heslo na příkazovém řádku můžete vynechat, abyste ho zadali.
V případě úspěchu byste se měli dostat na příkazový řádek sqlcmd :
1>
.
Vytvoření a dotazování dat
Následující části vás provedou použitím sqlcmd a Transact-SQL k vytvoření nové databáze, přidání dat a spuštění dotazu.
Vytvoření nové databáze
Následující kroky vytvoří novou databázi s názvem TestDB
.
Z příkazového řádku sqlcmd vložte následující příkaz Transact-SQL a vytvořte testovací databázi:
CREATE DATABASE TestDB; GO
Na dalším řádku napište dotaz, který vrátí název všech databází na vašem serveru:
SELECT name from sys.databases; GO
Vložení dat
Dále vytvořte novou tabulku Inventory
a vložte dva nové řádky.
Z příkazového řádku sqlcmd přepněte kontext na novou
TestDB
databázi:USE TestDB;
Vytvořte novou tabulku s názvem
Inventory
:CREATE TABLE Inventory ( id INT, name NVARCHAR(50), quantity INT );
Vložení dat do nové tabulky:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
Pokud chcete spustit předchozí příkazy, zadejte
GO
:GO
Výběr dat
Teď spusťte dotaz, který vrátí data z Inventory
tabulky.
Z příkazového řádku sqlcmd zadejte dotaz, který vrátí řádky z
Inventory
tabulky, kde je množství větší než 152:SELECT * FROM Inventory WHERE quantity > 152;
Spusťte příkaz:
GO
Ukončete příkazový řádek sqlcmd.
Pokud chcete ukončit relaci sqlcmd , zadejte
QUIT
:QUIT
Pokud chcete v kontejneru ukončit interaktivní příkazový řádek, zadejte
exit
. Po ukončení interaktivního prostředí Bash se váš kontejner bude dál spouštět.
Připojení mimo kontejner
K instanci SQL Edge na počítači Dockeru se také můžete připojit z libovolného externího nástroje pro Linux, Windows nebo macOS, který podporuje připojení SQL. Další informace o připojení ke kontejneru SQL Edge zvenčí najdete v tématu Připojení a dotazování Azure SQL Edge.
Odebrání kontejneru
Pokud chcete odebrat kontejner SQL Edge použitý v tomto kurzu, spusťte následující příkazy:
sudo docker stop azuresqledge
sudo docker rm azuresqledge
Upozornění
Zastavení a odebrání kontejneru trvale odstraní všechna data SQL Edge v kontejneru. Pokud potřebujete zachovat data, vytvořte a zkopírujte záložní soubor z kontejneru nebo použijte metodu trvalosti dat kontejneru.