GNU/Linux >> Znalost Linux >  >> Ubuntu

Výukový program MySQL Docker Container:Jak nastavit a nakonfigurovat

Úvod

MySQL je známý open-source systém pro správu relačních databází a jedno z nejpopulárnějších řešení pro webový server. Ukládá a strukturuje data smysluplným způsobem a zajišťuje snadný přístup.

Docker je sada produktů typu platform-as-a-service, které podporují vývoj CI/CD. Umožňuje uživatelům vyvíjet a nasazovat aplikace ve virtuálních prostředích, nazývaných kontejnery. S jediným obrazem může Docker spustit aplikaci se všemi jejími knihovnami a závislostmi.

V tomto kurzu se dozvíte, jak nasadit kontejner MySQL Docker a začít pracovat s kontejnerizovanou databází.

Předpoklady

  • Přístup k příkazovému řádku/oknu terminálu
  • Uživatelský účet s sudo oprávnění nebo přístup k rootu účet
  • Stávající instalace Dockeru

Spuštění kontejneru MySQL Docker

Pokud potřebujete nastavit databázi rychle a bez použití příliš mnoha zdrojů, nasazení MySQL v kontejneru je rychlé a efektivní řešení. To je vhodné pouze pro malé a středně velké aplikace. Aplikace na podnikové úrovni nenalezly kontejner MySQL Docker dostatečné pro jejich pracovní vytížení.

Používání softwaru Docker k nastavení databáze je u malých aplikací stále oblíbenější. Namísto samostatného serveru pro hostování databáze můžete nasadit kontejner databáze MySQL.

Na vašem počítači může běžet více kontejnerů. Kontejnery sdílejí stejné jádro a knihovny hostitele a zabalují nasazenou aplikaci nebo software do jednotlivých jednotek. Díky tomu je databáze mimořádně lehká a rychle se roztáčí.

Instalace kontejneru MySQL Docker Container

Nastavení databáze v Dockeru je jednoduše vytvoření kontejneru založeného na obrazu MySQL. Chcete-li svůj kontejner MySQL zprovoznit a spustit, postupujte podle níže uvedených kroků.

Krok 1:Vytáhněte obrázek MySQL Docker

1. Začněte stažením příslušného obrazu Dockeru pro MySQL. Můžete si stáhnout konkrétní verzi nebo se rozhodnout pro nejnovější verzi, jak je vidět v následujícím příkazu:

sudo docker pull mysql/mysql-server:latest

Pokud chcete konkrétní verzi MySQL, nahraďte latest s číslem verze.

2. Ověřte, zda je obraz nyní uložen místně, a to uvedením stažených obrazů Docker:

sudo docker images

Výstup by měl obsahovat mysql/mysql-server mezi uvedenými obrázky.

Krok 2:Nasazení kontejneru MySQL

1. Jakmile budete mít obraz, přejděte k nasazení nového kontejneru MySQL pomocí:

sudo docker run --name=[container_name] -d [image_tag_name]
  • Nahraďte [container_name] se jménem dle vašeho výběru. Pokud nezadáte název, Docker vygeneruje náhodné.
  • -d možnost Instruuje Docker, aby spustil kontejner jako službu na pozadí.
  • Nahraďte [image_tag_name] s názvem obrázku staženého v kroku 1.

V tomto příkladu vytvoříme kontejner s názvem mysql_docker s latest tag verze:

sudo docker run --name=[container_name] -d mysql/mysql-server:latest

2. Poté zkontrolujte, zda je spuštěn kontejner MySQL:

docker ps

Ve výstupu byste měli vidět nově vytvořený kontejner. Zahrnuje podrobnosti o kontejneru, jedním z nich je stav tohoto virtuálního prostředí. Stav se změní z health: starting na healthy , jakmile je nastavení dokončeno.

Krok 3:Připojte se ke kontejneru MySQL Docker Container

1. Než budete moci připojit kontejner serveru MySQL k hostiteli, musíte se ujistit, že je nainstalován klientský balíček MySQL:

apt-get install mysql-client

2. Poté otevřete soubor protokolů pro kontejner MySQL a najděte vygenerované heslo root:

sudo docker logs [container_name]

Pro mysql_docker kontejner, spustíme:

sudo docker logs mysql_docker

3. Procházejte výstup a najděte řádek [Entrypoint] GENERATED ROOT PASSWORD :, zkopírujte a vložte heslo do poznámkového bloku nebo textového editoru, abyste je mohli použít později.

4. Dále přejděte do shellu bash kontejneru MySQL zadáním:

sudo docker exec -it [container_name] bash

Pro kontejner vytvořený jako příklad spustíme:

sudo docker -it mysql_docker bash

3. Po zobrazení výzvy zadejte heslo uživatele root, které jste zkopírovali ze souboru protokolů. Tím jste připojili klienta MySQL k serveru.

4. Nakonec změňte heslo root serveru, abyste ochránili své informace:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '[newpassword]';

Nahraďte [newpassword] se silným heslem dle vašeho výběru.

Konfigurace kontejneru MySQL

Když nainstalujete kontejner MySQL, najdete možnosti jeho konfigurace v /etc/mysql/my.cnf= adresář.

Pokud potřebujete upravit konfiguraci, vytvořte alternativní konfigurační soubor na hostitelském počítači a připojte jej do kontejneru.

1. Nejprve vytvořte nový adresář na hostitelském počítači:

sudo mkdir -p /root/docker/[container_name]/conf.d

2. Vytvořte vlastní konfigurační soubor MySQL v tomto adresáři:

sudo nano /root/docker/[container_name]/conf.d/my-custom.cnf

3. Jakmile budete v souboru, můžete přidat řádky s požadovanou konfigurací.

Pokud například chcete zvýšit maximální počet připojení na 250 (místo výchozích 151), přidejte do konfiguračního souboru následující řádky:

[mysqld]
max_connections=250

4. Uložte a ukončete soubor.

5. Aby se změny projevily, musíte odstranit a znovu spustit kontejner MySQL . Tentokrát kontejner používá kombinaci nastavení konfigurace z nově vytvořeného souboru a výchozích konfiguračních souborů.

Chcete-li to provést, spusťte kontejner a namapujte cestu svazku pomocí příkazu:

docker run \
--detach \
--name=[container_name] \
--env="MYSQL_ROOT_PASSWORD=[my_password]" \
--publish 6603:3306 \
--volume=/root/docker/[container_name]/conf.d:/etc/mysql/conf.d \
mysql

6. Chcete-li zkontrolovat, zda kontejner načetl konfiguraci z hostitele, spusťte následující příkaz:

mysql -uroot -pmypassword -h127.0.0.1 -P6603 -e 'show global variables like "max_connections"';

Měli byste vidět, že maximální počet připojení je nyní 250 .

Správa úložiště dat

Ve výchozím nastavení Docker ukládá data do svého interního svazku.

Chcete-li zkontrolovat umístění svazků, použijte příkaz:

sudo docker inspect [container_name]

Zobrazí se /var/lib/mysql nainstalované v interním svazku.

Můžete také změnit umístění datového adresáře a vytvořit jeden na hostiteli. Mít svazek mimo kontejner umožňuje dalším aplikacím a nástrojům přistupovat ke svazkům v případě potřeby.

1. Nejprve najděte vhodný svazek na hostiteli a vytvořte na něm datový adresář:

sudo mkdir -p /storage/docker/mysql-data

2. Nyní znovu spusťte kontejner a připojte dříve vytvořený adresář:

docker run \
--detach \
--name=[container_name] \
--env="MYSQL_ROOT_PASSWORD=my_password" \
--publish 6603:3306 \
--volume=/root/docker/[container_name]/conf.d:/etc/mysql/conf.d \
--volume=/storage/docker/mysql-data:/var/lib/mysql \
mysql

Pokud si kontejner prohlédnete, měli byste vidět, že kontejner MySQL nyní ukládá svá data na hostitelském systému. Spusťte příkaz:

sudo docker inspect [container_name]

Spuštění, zastavení a restartování kontejneru MySQL

Kontejner se automaticky zastaví, když se zastaví proces v něm běžící.

Chcete-li spustit kontejner MySQL spustit:

sudo docker start [container_name]

Zastavte kontejner MySQL , použijte příkaz:

sudo docker stop [container_name]

Chcete-li restartovat kontejner MySQL spustit:

sudo docker restart [container_name]

Odstranit kontejner MySQL

Před odstraněním kontejneru MySQL se ujistěte, že jste jej nejprve zastavili.

Poté vyjměte kontejner dokovacího zařízení pomocí:

sudo docker rm [container_name]

Ubuntu
  1. Jak spustit MySQL v Docker Container:Jednoduchý a snadno sledovatelný průvodce

  2. Jak nainstalovat Vim do kontejneru Docker

  3. Jak vytvořit MySQL Docker Container pro testování

  1. Jak nainstalovat a nastavit mysql 8 na Ubuntu 20.04

  2. Jak spustit MySQL v kontejneru Docker

  3. Jak SSH do kontejneru Docker

  1. Jak nastavit a nakonfigurovat ModSecurity na Apache

  2. Jak přiřadit statickou IP ke kontejneru Docker

  3. Jak opustit kontejner Docker