Lučki radnik

Postavite PostgreSQL poslužitelj i pgAdmin s Dockerom

Postavite PostgreSQL poslužitelj i pgAdmin s Dockerom
U ovom članku pokazat ću vam kako pomoću Docker Compose stvoriti PostgreSQL spremnik i pristupiti mu pomoću pgAdmin 4, web sučelja za administraciju PostgreSQL. Također ću vam pokazati kako pristupiti poslužitelju baze podataka PostgreSQL pokrenutom u Docker spremniku iz DataGrip IDE-a. Pa, krenimo.

Zahtjevi:

Da biste pratili ovaj članak, na računalu morate imati instaliran Docker. LinuxHint ima puno članaka koje možete pratiti kako biste instalirali Docker na željenu Linux distribuciju ako ga već niste instalirali. Dakle, svakako provjerite LinuxHint.com u slučaju da imate problema s instaliranjem Dockera.

Instaliranje Dockera Compose:

Binarnu datoteku Docker Compose možete preuzeti vrlo jednostavno pomoću sljedeće naredbe:

$ 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

BILJEŠKA: kovrča možda neće biti instaliran na vašoj Linux distribuciji. Ako je to slučaj, možete instalirati curl pomoću sljedeće naredbe:

Kovnica Ubuntu / Debian / Linux:

$ sudo apt install curl -y

CentOS / RHEL / Fedora:

$ sudo dnf instaliraj curl -y

Jednom docker-compose binarna datoteka se preuzima, pokrenite sljedeću naredbu:

$ sudo chmod + x / usr / local / bin / docker-compose

Sada provjeri da li docker-compose naredba radi na sljedeći način:

$ docker-compose verzija

Trebao bi ispisati podatke o verziji kao što je prikazano na snimci zaslona u nastavku.

Postavljanje Docker Compose za projekt:

Sada izradite direktorij projekta (recimo ~ / docker / pgdev) kako slijedi:

$ mkdir -p ~ / docker / pgdev

Sada se pomaknite do direktorija projekta ~ / docker / pgdev kako slijedi:

$ cd ~ / docker / pgdev

Sada stvorite a docker-compose.yaml datoteku u direktoriju projekta ~ / docker / pgdev i unesite sljedeće retke u docker-compose.yaml datoteka.

inačica: "3.7 "
usluge:
db:
slika: postgres: 12.2
ponovno pokretanje: uvijek
okoliš:
POSTGRES_DB: postgres
POSTGRES_USER: admin
POSTGRES_PASSWORD: tajna
PGDATA: / var / lib / postgresql / data
svezaka:
- db-podaci: / var / lib / postgresql / data
luke:
- "5432: 5432"
 
pgadmin:
slika: dpage / pgadmin4: 4.18
ponovno pokretanje: uvijek
okoliš:
PGADMIN_DEFAULT_EMAIL: admin @ linuxhint.com
PGADMIN_DEFAULT_PASSWORD: tajno
PGADMIN_LISTEN_PORT: 80
luke:
- "8080: 80"
svezaka:
- pgadmin-podaci: / var / lib / pgadmin
poveznice:
- "db: pgsql-poslužitelj"
svezaka:
db-podaci:
pgadmin-podaci:

The docker-compose.yaml datoteka bi trebala izgledati kako slijedi.

Evo, stvorio sam 2 usluge db i pgadmin.

db usluga će pokrenuti postgres: 12.2 slika (iz DockerHub) u Docker spremniku.

pgadmin usluga će pokrenuti dpage / pgadmin4: 4.18 slika (iz DockerHub-a) u drugom spremniku Dockera.

U db usluga, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD varijable okoline koriste se za postavljanje zadanog imena baze podataka, korisničkog imena administratora i administratorske lozinke za poslužitelj PostgreSQL. The PGDATA varijabla okoline koristi se za konfiguriranje PostgreSQL poslužitelja za pohranu podataka / var / lib / postgresql / data direktorij spremnika.

U pgadmin usluga, PGADMIN_DEFAULT_EMAIL, PGADMIN_DEFAULT_PASSWORD varijable okoline koriste se za postavljanje adrese e-pošte za prijavu i lozinke web sučelja pgAdmin. The PGADMIN_LISTEN_PORT koristi se za postavljanje porta pgAdmin 80 u spremnik.

U db usluzi, sav sadržaj datoteke / var / lib / postgresql / data direktorij će se trajno spremiti u db-podaci volumen.

U pgadmin usluga, sav sadržaj / var / lib / pgadmin direktorij će se trajno spremiti u pgadmin-podaci volumen.

U db usluga, luka kontejnera 5432 (zdesna) preslikava se na priključak domaćina Dockera 5432 (lijevo).

U pgadmin usluga, luka kontejnera 80 (zdesna) preslikava se na priključak domaćina Dockera 8080 (lijevo).

U pgadmin usluga, alias imena hosta pgsql-poslužitelj prema db stvoren je spremnik. Dakle, poslužitelju PostgreSQL možete pristupiti pomoću pgsql-poslužitelj kao ime hosta (nije potrebna IP adresa).

Pokretanje PostgreSQL poslužitelja i pgAdmin:

Sada, za početak db i pgadmin usluge, pokrenite sljedeću naredbu:

$ docker-compose up -d

Usluge bi trebale započeti u pozadini.

Kao što vidite, luka 8080 i 5432 otvaraju docker-proxy servis.

$ sudo netstat -tlpn

Da biste vidjeli kako se mapiraju luke, pokrenite sljedeću naredbu:

$ docker-komponiraj ps

Kao što vidite, za db usluga, priključak Dockera 5432 preslikava se na TCP port spremnika 5432.

Za pgadmin usluga, priključak Dockera 8080 preslikava se na TCP port spremnika 80.

Pristup poslužitelju pgAdmin 4 ili PostgreSQL s Ostalih računala:

Ako želite pristupiti pgAdmin 4 ili PostgreSQL poslužitelju baze podataka s drugog računala u mreži, tada morate znati IP adresu vašeg Dockera hosta.

Da biste pronašli IP adresu vašeg Dockera, pokrenite sljedeću naredbu:

$ ip

U mom slučaju, IP adresa mog domaćina Dockera 192.168.20.160. Za vas će biti drugačije. Pazite da ga od sada zamijenite svojim.

Pristup pgAdminu iz web preglednika:

Sada možete lako pristupiti pgAdmin 4 iz svog web preglednika.

Posjetite http: // localhost: 8080 s vašeg domaćina Dockera ili http: // 192.168.20.160: 8080 s bilo kojeg računala u vašoj mreži. Trebali biste vidjeti stranicu za prijavu pgAdmin. Prijavite se putem e-pošte i lozinke.

Nakon prijave, trebali biste vidjeti nadzornu ploču pgAdmin.

Sada, da biste dodali PostgreSQL poslužitelj koji radi kao Docker spremnik, kliknite desnim gumbom miša Poslužitelji, a zatim idite u Stvoriti > Poslužitelj ..

U Općenito karticu, upišite svoj poslužitelj Ime.

Sada idite na Veza i upišite pgsql-poslužitelj kao Ime / adresa domaćina, 5432 kao Luka, postgres kao Baza podataka o održavanju, admin kao Korisničko ime, tajna kao Zaporka i provjeriti Spremi lozinku? potvrdni okvir. Zatim kliknite na Uštedjeti.

pgAdmin 4 trebao bi biti povezan s vašom bazom podataka PostgreSQL. Sada možete raditi sa svojom PostgreSQL bazom podataka koliko god želite.

Pristup PostgreSQL-u iz DataGripa:

Poslužitelju baze podataka PostgreSQL možete pristupiti i iz DataGrip IDE ili bilo kojeg drugog SQL IDE-a.

U slučaju DataGrip, kliknite na + od Baze podataka odjeljak i idite na Izvor podataka > PostgreSQL.

PostgreSQL upravljački program možda nije instaliran. U tom slučaju kliknite na preuzimanje datoteka.

Treba instalirati upravljački program. Sada unesite IP adresu hosta Dockera 192.168.20.160 (u mom slučaju) kao Domaćin, 5432 kao Luka, admin kao Korisnik, tajna kao Zaporka, postgres kao Baza podataka i kliknite na Test veza.

Trebali biste vidjeti detalje o poslužitelju baze podataka PostgreSQL ako sve funkcionira.

Sada kliknite na u redu.

Sada možete upravljati svojim PostgreSQL bazama podataka iz DataGrip.

Zaustavljanje PostgreSQL-a i pgAdmin-a:

Sada, da zaustavim db i pgadmin usluge, pokrenite sljedeću naredbu:

$ docker-sastavi dolje

The db i pgadmin usluge treba zaustaviti.

Čišćenje podataka PostgreSQL i pgAdmin:

Ako želite ukloniti sve podatke i postavke baze podataka PostgreSQL i sve postavke pgAdmin, morate ukloniti db-podaci i pgadmin-podaci svezaka.

Stvarno ime volumena podataka možete pronaći pomoću sljedeće naredbe:

$ docker volumen ls

Kao što vidite, postoje 2 sveska za pgdev projekt, pgdev_db-podaci i pgdev_pgadmin-podaci.

Te svezake možete ukloniti sljedećom naredbom:

$ docker volume rm pgdev_db-data pgdev_pgadmin-data

Reference:

[1] https: // čvorište.lučki radnik.com / _ / postgres?tab = opis
[2] https: // čvorište.lučki radnik.com / r / dpage / pgadmin4 /
[3] https: // www.pgadmin.org / docs / pgadmin4 / najnovije / razmjena_kontejnera.html

Kako koristiti AutoKey za automatizaciju Linux igara
AutoKey je uslužni program za automatizaciju radne površine za Linux i X11, programiran na Python 3, GTK i Qt. Koristeći njegovu skriptiranje i MACRO ...
Kako prikazati brojač FPS-a u Linux igrama
Linux gaming dobio je velik poticaj kada je Valve najavio Linux podršku za Steam klijent i njihove igre 2012. godine. Od tada su mnoge AAA i indie igr...
Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...