Požadavky:
Abyste mohli postupovat podle tohoto článku, musíte mít ve svém počítači nainstalovaný Docker. LinuxHint obsahuje mnoho článků, které můžete použít k instalaci Dockeru na požadovanou distribuci Linuxu, pokud ji ještě nemáte nainstalovanou. Nezapomeňte tedy zkontrolovat LinuxHint.com v případě, že máte potíže s instalací Dockeru.
Instalace Docker Compose:
Binární soubor Docker Compose si můžete stáhnout velmi snadno pomocí následujícího příkazu:
$ sudo curl -L "https: // github.com / docker / compose / releases / download / 1.24.1 /docker-compose - $ (uname -s) - $ (uname -m) "-o / usr / local / bin / docker-compose
POZNÁMKA: kučera nemusí být nainstalován na vaší distribuci Linuxu. V takovém případě můžete curl nainstalovat pomocí následujícího příkazu:
Ubuntu / Debian / Linux Mint:
$ sudo apt install curl -yCentOS / RHEL / Fedora:
$ sudo dnf install curl -yJednou docker-compose binární soubor je stažen, spusťte následující příkaz:
$ sudo chmod + x / usr / local / bin / docker-compose
Nyní zkontrolujte, zda docker-compose příkaz funguje následovně:
$ docker-compose verzeMělo by vytisknout informace o verzi, jak je znázorněno na následujícím obrázku.
Nastavení Docker Compose pro projekt:
Nyní vytvořte adresář projektu (řekněme ~ / docker / pgdev) jak následuje:
$ mkdir -p ~ / docker / pgdev
Nyní přejděte do adresáře projektu ~ / docker / pgdev jak následuje:
$ cd ~ / docker / pgdev
Nyní vytvořte docker-compose.yaml soubor v adresáři projektu ~ / docker / pgdev a zadejte následující řádky do souboru docker-compose.yaml soubor.
verze: „3.7 "služby:
db:
obrázek: postgres: 12.2
restart: vždy
životní prostředí:
POSTGRES_DB: postgres
POSTGRES_USER: admin
POSTGRES_PASSWORD: tajné
PGDATA: / var / lib / postgresql / data
objemy:
- db-data: / var / lib / postgresql / data
porty:
- „5432: 5432“
pgadmin:
obrázek: dpage / pgadmin4: 4.18
restart: vždy
životní prostředí:
PGADMIN_DEFAULT_EMAIL: admin @ linuxhint.com
PGADMIN_DEFAULT_PASSWORD: tajné
PGADMIN_LISTEN_PORT: 80
porty:
- „8080: 80“
objemy:
- pgadmin-data: / var / lib / pgadmin
Odkazy:
- "db: pgsql-server"
objemy:
db-data:
pgadmin-data:
The docker-compose.yaml soubor by měl vypadat následovně.
Zde jsem vytvořil 2 služby db a pgadmin.
db služba spustí postgres: 12.2 obrázek (z DockerHub) v kontejneru Docker.
pgadmin služba spustí dpage / pgadmin4: 4.18 obrázek (z DockerHub) v jiném kontejneru Docker.
v db služba, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD Proměnné prostředí se používají k nastavení výchozího názvu databáze, uživatelského jména správce a hesla správce uživatele pro server PostgreSQL. The PGDATA Proměnná prostředí se používá ke konfiguraci serveru PostgreSQL, do kterého se data ukládají / var / lib / postgresql / data adresář kontejneru.
v pgadmin služba, PGADMIN_DEFAULT_EMAIL, PGADMIN_DEFAULT_PASSWORD Proměnné prostředí se používají k nastavení přihlašovacího e-mailu a hesla webového rozhraní pgAdmin. The PGADMIN_LISTEN_PORT slouží k nastavení portu pgAdmin 80 v kontejneru.
Ve službě db veškerý obsah / var / lib / postgresql / data adresář bude trvale uložen do složky db-data objem.
V pgadmin služba, veškerý obsah / var / lib / pgadmin adresář bude trvale uložen do složky pgadmin-data objem.
V db služba, přístav kontejneru 5432 (vpravo) je namapován na hostitelský port Dockeru 5432 (vlevo, odjet).
V pgadmin služba, přístav kontejneru 80 (vpravo) je namapován na hostitelský port Dockeru 8080 (vlevo, odjet).
V pgadmin služba, alias názvu hostitele pgsql-server do db kontejner je vytvořen. K serveru PostgreSQL tedy můžete přistupovat pomocí pgsql-server jako název hostitele (není vyžadována žádná IP adresa).
Spuštění serveru PostgreSQL a pgAdmin:
Nyní pro spuštění db a pgadmin služby, spusťte následující příkaz:
$ docker-compose up -d
Služby by měly začít na pozadí.
Jak vidíte, přístav 8080 a 5432 jsou otevřeny docker-proxy servis.
$ sudo netstat -tlpn
Chcete-li zjistit, jak jsou porty mapovány, spusťte následující příkaz:
$ docker-compose psJak vidíte, pro db služba, hostitelský port Dockeru 5432 je mapován na port TCP kontejneru 5432.
Pro pgadmin služba, hostitelský port Dockeru 8080 je mapován na port TCP kontejneru 80.
Přístup k serveru pgAdmin 4 nebo PostgreSQL z jiných počítačů:
Chcete-li získat přístup k databázovému serveru pgAdmin 4 nebo PostgreSQL z jiného počítače ve vaší síti, musíte znát IP adresu vašeho hostitele Docker.
Chcete-li zjistit adresu IP hostitele Dockeru, spusťte následující příkaz:
$ ipV mém případě IP adresa mého hostitele Dockeru 192.168.20.160. Bude to pro vás jiné. Od této chvíle jej tedy vyměňte za svůj.
Přístup k pgAdmin z webového prohlížeče:
Nyní můžete snadno přistupovat k pgAdmin 4 z vašeho webového prohlížeče.
Navštivte http: // localhost: 8080 od hostitele Dockeru nebo http: // 192.168.20.160: 8080 z libovolného počítače v síti. Měla by se zobrazit přihlašovací stránka pgAdmin. Přihlaste se pomocí svého e-mailu a hesla.
Jakmile se přihlásíte, měl by se vám zobrazit panel pgAdmin.
Chcete-li nyní přidat server PostgreSQL spuštěný jako kontejner Docker, klikněte pravým tlačítkem na Servery, a pak přejděte na Vytvořit > Server…
V Všeobecné kartu, zadejte svůj server název.
Nyní přejděte na Spojení kartu a zadejte pgsql-server tak jako Jméno / adresa hostitele, 5432 tak jako Přístav, postgres tak jako Databáze údržby, admin tak jako Uživatelské jméno, tajný tak jako Heslo a zkontrolujte Uložit heslo? zaškrtávací políčko. Poté klikněte na Uložit.
pgAdmin 4 by měl být připojen k vaší databázi PostgreSQL. Nyní můžete s vaší databází PostgreSQL pracovat tolik, kolik chcete.
Přístup k PostgreSQL z DataGrip:
K databázovému serveru PostgreSQL můžete také přistupovat z IDE DataGrip nebo z jiných IDE SQL.
V případě DataGrip klikněte na + z Databáze sekce a přejděte na Zdroj dat > PostgreSQL.
Ovladač PostgreSQL nemusí být nainstalován. V takovém případě klikněte na Stažení.
Ovladač by měl být nainstalován. Nyní zadejte adresu IP hostitele Dockeru 192.168.20.160 (v mém případě) jako Hostitel, 5432 jako Přístav, admin jako Uživatel, tajný jako Heslo, postgres jako Databáze a klikněte na Vyzkoušejte připojení.
Pokud vše funguje, měli byste vidět podrobnosti o databázovém serveru PostgreSQL.
Nyní klikněte na OK.
Nyní můžete spravovat své databáze PostgreSQL z DataGrip.
Zastavení PostgreSQL a pgAdmin:
Nyní zastavit db a pgadmin služby, spusťte následující příkaz:
$ docker-compose down
The db a pgadmin služby by měly být zastaveny.
Vyčištění dat PostgreSQL a pgAdmin:
Chcete-li odstranit všechna data a nastavení databáze PostgreSQL a všechna nastavení pgAdmin, musíte odstranit db-data a pgadmin-data objemy.
Skutečný název datových svazků najdete pomocí následujícího příkazu:
$ docker volume lsJak vidíte, pro pgdev projekt, pgdev_db-data a pgdev_pgadmin-data.
Tyto svazky můžete odebrat pomocí následujícího příkazu:
$ docker volume rm pgdev_db-data pgdev_pgadmin-data
Reference:
[1] https: // hub.přístavní dělník.com / _ / postgres?tab = popis
[2] https: // hub.přístavní dělník.com / r / dpage / pgadmin4 /
[3] https: // www.pgadmin.org / docs / pgadmin4 / latest / container_deployment.html