Úvod
PostgreSQL , také označovaný jako Postgres, je open source, objektově relační systém pro správu databází. Vývojáři často volí tuto relační databázi, protože je bezplatná, stabilní a flexibilní. PostgreSQL a MySQL jsou ve skutečnosti nejoblíbenější systémy pro správu relačních databází.
Dnes je Postgres jedním z nejpoužívanějších obrázků Docker, které běží v kontejnerech. Popularita kontejnerových databází je připisována jednoduchosti, s jakou je lze nasadit. Místo toho, aby měli jednu centralizovanou databázi pro mnoho aplikací, mohou vývojáři věnovat kontejner PostgreSQL pro každou aplikaci.
V tomto tutoriálu se dozvíte, jak spustit PostgreSQL na kontejneru Docker.
Předpoklady
- Přístup k příkazovému řádku/oknu terminálu
- Uživatelský účet s sudo privilegia
- Stávající instalace Dockeru
Spuštění PostgreSQL na kontejnerech Docker
Nasazení kontejneru Postgres je jednoduché. Obrázek Postgres pro vytváření těchto databázových kontejnerů najdete v oficiálním úložišti Dockeru.
Tato příručka vám ukáže dva způsoby, jak toho dosáhnout.
První možnost používá Docker Compose , nástroj pro správu vícekontejnerových aplikací Docker. Pomocí Docker Compose můžete nakonfigurovat Postgres jako službu běžící uvnitř kontejneru. V takovém případě vytvoříte yaml soubor se všemi specifikacemi.
Případně můžete použít a jeden příkaz Docker se všemi nezbytnými informacemi pro nasazení nového kontejneru PostgreSQL.
Možnost 1:Spusťte Postgres pomocí Docker Compose
Chcete-li nasadit kontejner Postgres pomocí Docker Compose, měli byste mít v systému nastaven tento nástroj Docker.
Pokud jste uživatelem Linuxu a potřebujete pomoc s nastavením, podívejte se na jednu z našich příruček k instalaci Docker Compose na Ubuntu nebo k instalaci Docker Compose na CentOS.
1. Pro zajištění snadné a čisté instalace chceme nejprve vytvořit pracovní adresář s názvem postgres a přesuňte se do tohoto adresáře:
mkdir postgres
cd postgres/
2. Dále použijte Docker Compose ke stažení obrazu Postgres a zprovoznění služby. Udělejte to vytvořením nového souboru docker-compose.yml soubor s editorem dle vašeho výběru (v tomto příkladu jsme použili nano):
nano docker-compose.yml
3. Přidejte následující obsah do docker-compose soubor:
version: ‘3’
service:
postgres:
image: ‘postgres: latest’
ports:
- “5432:5432”
Konfigurační soubor yaml uvádí, že existuje postgres
služba postavená na latest postgres image
. Můžete se rozhodnout pro nejnovější verzi Postgresu nebo zadat číslo verze, kterou chcete použít.
Nakonec je potřeba definovat porty, na kterých kontejner komunikuje. 5432
je výchozí číslo portu pro PostgreSQL.
4. Uložte a ukončete soubor.
5. Nyní, když máte konfigurační soubor yaml, můžete spustit službu postgres a spustit kontejner. Použijte docker-compose up
pomocí -d
možnost přepnout jej do režimu odpojení (což vám umožní pokračovat ve spouštění příkazů z aktuálního shellu):
docker-compose up -d
6. Záznamy můžete zkontrolovat příkazem:
docker-compose logs -f
Pro návrat do shellu stiskněte CTRL+C .
Možnost 2:Spusťte Postgres pomocí jediného příkazu Docker
Dalším způsobem nasazení PostgreSQL v kontejneru je spuštění jediného příkazu docker.
Kontejner Postgres si můžete stáhnout a spustit zadáním všech nezbytných informací v jednom příkazu.
docker run --name [container_name] -e POSTGRES_PASSWORD=[your_password] -d postgres
Příkaz řekne Dockeru, aby spustil nový kontejner pod konkrétním názvem kontejneru, definuje heslo Postgres a stáhne nejnovější verzi Postgres.
Potvrďte, že je váš kontejner PostgreSQL nyní aktivní, tím, že Docker požádáte, aby vypsal všechny spuštěné kontejnery s:
docker ps
V této příručce jsme vytvořili kontejner s názvem příklad a můžeme jej rychle najít mezi ostatními běžícími kontejnery.
Začínáme s kontejnery Postgres
Připojte se k Postgres v Docker Container
Chcete-li zadat kontejner Postgres, musíte spustit pomocí názvu kontejneru a povolit psql
, rozhraní příkazového řádku pro Postgres.
docker exec -it [container_name] psql -U [postgres_user]
V níže uvedeném příkladu jsme se připojili k example
kontejner jako postgres
uživatel.
Vytvořit databázi
Jakmile jsme v kontejneru Docker Postgres, můžeme vytvořit databázi pomocí:
create database [db_name];
Připojte se k databázi jako uživatel typu postgres:
\c [db_name]
Po nastavení databáze je dalším krokem vytvoření schématu, které vám pomůže získat logickou reprezentaci struktury databáze:
create schema [db_schema_name]
Zde můžete vytvořit tabulku a přidat data do tabulky.
create table [table_name] ([field_names] [values])