GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Spuštění PostgreSQL v Dockeru, Rychlý a praktický průvodce

Tento výukový program vás provede tím, jak spustit PostgreSQL s trvalým úložištěm v kontejneru Docker a jak se k němu připojit.

PostgreSQL je open source, objektově relační systém pro správu databází. Existuje již více než 30 let a propaguje se jako „nejpokročilejší open-source relační databáze na světě.“

Docker se stal standardem v IT průmyslu pro snadné balení, nasazování a spouštění distribuovaných aplikací. Kontejnery Docker vám umožňují rychle spustit nové aplikace, aniž by byl váš systém zahlcen závislostmi.

Docker můžete použít ke spuštění databáze PostgreSQL v kontejneru jako vzdálený server. Kontejnery Docker jsou založeny na otevřených standardech, které umožňují běh kontejnerů ve všech hlavních distribucích Linuxu, macOS a Microsoft Windows.

Spustit PostgreSQL v Dockeru

Zde si stáhneme obraz PostgreSQL, zkontrolujeme, zda je obraz připraven, spustíme obraz se specifickými parametry a nakonec se připojíme k běžící instanci PostgreSQL.

1. Stáhněte obrázek PostgreSQL Server Docker

Nejprve potřebujeme získat existující oficiální image PostgreSQL z Docker Hub. Obrázky jsou dostupné pro PostgreSQL verze 9, 10, 11, 12 a 13. Změňte latest   tag na požadovanou verzi, pokud potřebujete konkrétní vydání.

Nyní vytáhneme obrázek:

sudo docker pull postgres:latest

Pomocí výše uvedeného příkazu stáhnete nejnovější dostupnou verzi PostgreSQL z úložiště Docker Hub.

2. Spusťte kontejner z PostgreSQL Server Docker Image

Před nasazením budete muset nastavit svazek Docker nebo připojení k připojení, aby vaše databáze zůstala zachována. V opačném případě budou vaše data po restartování kontejneru ztracena. Připojení by mělo být provedeno do /var/lib/postgresql/data adresář v kontejneru.

Vytvoříme svazek dockeru pro tuto příručku a připojíme jej k vašemu kontejneru PostgreSQL.

Následující příkaz vytvoří svazek na vašem místním počítači, který můžete později připojit ke kontejneru PostgreSQL:

sudo docker volume create postgres-volume

Nyní, když máte na svém počítači obraz PostgreSQL a svazek pro uložení dat, můžete nasadit kontejner s:

sudo docker run -d --name=postgres13 -p 5432:5432 -v postgres-volume:/var/lib/postgresql/data -e POSTGRES_PASSWORD=[your_password] postgres

Příkaz docker run vytvoří běžící databázi PostgreSQL v kontejneru Docker.

Pojďme si tuto syntaxi rozebrat. Za prvé, zde je význam jednotlivých parametrů v tomto příkazu:

  • -d spustí tento kontejner v odděleném režimu, aby jej spouštěl na pozadí.
  • --name přiřadí název postgres13 do vaší instance kontejneru.
  • -p sváže kontejnerový port PostgreSQL 5432 se stejným portem na vašem hostitelském počítači. Budete se moci připojit k localhost:5432 pomocí klientů PostgreSQL (psql ) běžící na vašem hostiteli.
  • -v možnost svázat tuto datovou složku uvnitř svazku kontejneru (/var/lib/postgresql ) na místní svazek Dockeru (postgres-volume ), který jste vytvořili v předchozím kroku.
  • -e nastavuje proměnnou prostředí. V tomto případě kořenové heslo PostgreSQL.
  • postgres je název obrázku, který používáme k vytvoření kontejneru.

Zda kontejner běží, můžete zkontrolovat vypsáním spuštěných kontejnerů:

sudo docker ps
CONTAINER ID   IMAGE   COMMAND   CREATED   STATUS   PORTS   NAMES
6cb3293fe725   postgres   "docker-entrypoint.s…"   19 minutes ago   Up 19 minutes   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp   postgres13

Gratulujeme! Vaše nová instance PostgreSQL nyní běží na Dockeru.

Kromě toho můžete zkontrolovat soubor protokolu běžícího kontejneru PostgreSQL pomocí následujícího příkazu:

sudo docker logs postgres13

3. Připojte se k serveru PostgreSQL

Interaktivní shell PostgreSQL můžete získat připojením ke kontejneru a spuštěním psql příkaz. To poskytuje plné rozhraní příkazového řádku PostgreSQL pro použití všech známých příkazů a příznaků.

sudo docker exec -it postgres13 psql -U postgres

Můžete se také připojit k instanci PostgreSQL Docker pomocí psql Klient PostgreSQL, pokud jej máte na svém hostiteli předinstalovaný.

psql -h localhost -U postgres

Závěr

Jedním z nejvýznamnějších případů použití Dockeru je snadné vytváření aplikací zabudovaných v kontejnerech a přístup k nim bez obav ze závislostí a instalací.

V tomto tutoriálu jsme se dozvěděli o nastavení serveru PostgreSQL pomocí Dockeru namísto skutečného hostitelského počítače.

S architekturou mikroslužeb, kde různé mikroslužby spoléhají na své databáze, se nasazování serverů PostgreSQL jako kontejnerů Docker stalo běžným.

Je také široce používán pro místní provádění nebo end-to-end integrační testy v izolovaném prostředí.

Pokud máte nějaké dotazy nebo návrhy, dejte mi vědět a já se s vámi rád spojím.


Docker
  1. Jak spustit Nginx v kontejneru Docker:Průvodce krok za krokem

  2. rozdíl mezi podmanem a dockerem.

  3. Co je Docker (a Linux kontejnery?)

  1. Kompletní průvodce pro začátečníky k protokolování dockeru

  2. Rychlý průvodce používáním Docker Compose

  3. Průvodce upgradem na MongoDB 5.0 a Rocket.Chat 4.0 na Dockeru

  1. Kdy a proč používat Docker

  2. Jak spustit příkaz na spuštěném kontejneru Docker

  3. Jak nasadit PostgreSQL jako Docker Container