Krav:
For å følge denne artikkelen, må du ha Docker installert på datamaskinen din. Linuxhint har mange artikler som du kan følge for å installere Docker på ønsket Linux -distribusjon hvis du ikke har den installert allerede. Så husk å sjekke Linuxhint.com i tilfelle du har problemer med å installere docker.
Installere Docker Compose:
Du kan laste ned Docker Compose Binary File veldig enkelt med følgende kommando:
$ sudo curl -l "https: // github.com/docker/kompose/utgivelser/nedlasting/1.24.1/
Docker-Compose-$ (Uname -s)-$ (Uname -m) "-o/usr/local/bin/docker-compose
MERK: krøll kan ikke installeres på Linux -distribusjonen din. Hvis det er tilfelle, kan du installere Curl med følgende kommando:
Ubuntu/Debian/Linux Mint:
$ sudo apt install curl -y
Centos/RHEL/Fedora:
$ sudo dnf install curl -y
En gang Docker-Compose Binærfil lastes ned, kjør følgende kommando:
$ sudo chmod +x/usr/local/bin/docker-compose
Nå, sjekk om Docker-Compose Kommandoen fungerer som følger:
$ Docker-Compose-versjon
Den skal skrive ut versjonsinformasjonen som vist på skjermdumpen nedenfor.
Sette opp Docker -komponering for prosjektet:
Lag nå en prosjektkatalog (la oss si ~/docker/pgdev) følgende:
$ mkdir -p ~/docker/pgdev
Naviger nå til prosjektkatalogen ~/docker/pgdev følgende:
$ CD ~/docker/pgdev
Nå, lage en Docker-Compose.Yaml fil i prosjektkatalogen ~/docker/pgdev og skriv inn følgende linjer i Docker-Compose.Yaml fil.
Versjon: "3.7 "De Docker-Compose.Yaml filen skal se ut som følger.
Her har jeg opprettet to tjenester db og pgadmin.
db tjenesten vil kjøre Postgres: 12.2 Bilde (fra Dockerhub) i en Docker -beholder.
pgadmin tjenesten vil kjøre DPAGE/PGADMIN4: 4.18 Bilde (fra Dockerhub) i en annen Docker -container.
I db Service, The Postgres_db, Postgres_user, Postgres_password Miljøvariabler brukes til å angi standard databasenavn, administrator brukernavn og administratorbrukerpassord for henholdsvis PostgreSQL -serveren. De Pgdata Miljøvariabel brukes til å konfigurere PostgreSQL -serveren for å lagre dataene til /var/lib/postgreSql/data Katalogen til beholderen.
I pgadmin Service, The PGADMIN_DEFAULT_EMAIL, Pgadmin_default_password Miljøvariabler brukes til å angi innloggings -e -post og passord for henholdsvis PGADMIN Web -grensesnitt. De PGADMIN_LISTEN_PORT brukes til å stille inn pgadminport 80 i beholderen.
I DB -tjeneste, alt innholdet i /var/lib/postgreSql/data Katalogen vil bli lagret permanent i DB-data volum.
I pgadmin service, alt innholdet i /var/lib/pgadmin Katalogen vil bli lagret permanent i pgadmin-data volum.
I db Service, containerporten 5432 (til høyre) er kartlagt til Docker -vertsporten 5432 (venstre).
I pgadmin Service, containerporten 80 (til høyre) er kartlagt til Docker -vertsporten 8080 (venstre).
I pgadmin Service, et vertsnavn alias PGSQL-SERVER til db beholderen opprettes. Så du kan få tilgang til PostgreSQL -serveren ved hjelp av PGSQL-SERVER Som vertsnavn (ingen IP -adresse kreves).
Starter PostgreSQL Server og PGADMIN:
Nå, for å starte db og pgadmin Tjenester, kjør følgende kommando:
$ docker -compose up -d
Tjenestene skal starte i bakgrunnen.
Som du ser, porten 8080 og 5432 åpnes av Docker-Proxy service.
$ sudo netstat -tlpn
For å se hvordan portene er kartlagt, kjør følgende kommando:
$ Docker-Compose Ps
Som du kan se, for db Service, Docker Host Port 5432 er kartlagt til containeren TCP -port 5432.
For pgadmin Service, Docker Host Port 8080 er kartlagt til containeren TCP -port 80.
Få tilgang til PGADMIN 4 eller PostgreSQL -server fra andre datamaskiner:
Hvis du vil få tilgang til PGADMIN 4 eller PostgreSQL -databaseserver fra en annen datamaskin på nettverket ditt, må du kjenne IP -adressen til Docker -verten din.
For å finne IP -adressen til Docker -verten din, kjør følgende kommando:
$ ip
I mitt tilfelle er IP -adressen til Docker -verten min 192.168.20.160. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.
Få tilgang til PGADMIN fra nettleser:
Nå kan du enkelt få tilgang til PGADMIN 4 fra nettleseren din.
Besøk http: // localhost: 8080 fra Docker -verten din eller http: // 192.168.20.160: 8080 fra hvilken som helst datamaskin på nettverket ditt. Du bør se PGADMIN -påloggingssiden. Logg inn med e -post og passord.
Når du har logget inn, bør du se Pgadmin -dashbordet.
Nå, for å legge til PostgreSQL -serveren som en Docker -beholder, høyreklikk på Servere, Og gå til deretter Skape > Server ..
I Generell Tab, skriv inn serveren din Navn.
Nå, gå til Forbindelse Tab og skriv inn PGSQL-SERVER som Vertsnavn/adresse, 5432 som Havn, Postgres som Vedlikeholdsdatabase, admin som Brukernavn, hemmelig som Passord og sjekk Lagre passord? avkrysningsrute. Klikk deretter på Lagre.
PGADMIN 4 skal kobles til PostgreSQL -databasen. Nå kan du jobbe med PostgreSQL -databasen din så mye du vil.
Få tilgang til PostgreSQL fra Datagrip:
Du kan også få tilgang til PostgreSQL -databaseserveren din fra Datagrip IDE eller andre SQL IDES.
I tilfelle av datagrip, klikk på + fra Databaser seksjon og gå til Datakilde > PostgreSql.
PostgreSQL -sjåføren er kanskje ikke installert. I så fall klikker du på nedlasting.
Sjåføren skal installeres. Skriv inn Docker -verten IP -adresse nå 192.168.20.160 (I mitt tilfelle) som Vert, 5432 som Havn, admin som Bruker, hemmelig som Passord, Postgres som Database og klikk på Testforbindelse.
Du bør se PostgreSQL -databaseserverdetaljene hvis alt fungerer.
Nå, klikk på Ok.
Nå kan du administrere PostgreSql -databasene fra Datagrip.
Stopper PostgreSQL og Pgadmin:
Nå, for å stoppe db og pgadmin Tjenester, kjør følgende kommando:
$ Docker-Compose Down
De db og pgadmin Tjenester bør stoppes.
Rydd opp PostgreSQL og PGADMIN -data:
Hvis du vil fjerne alle PostgreSQL -databasedataene og innstillingene, og alle PGADMIN -innstillingene, må du fjerne DB-data og pgadmin-data Volum.
Du kan finne det faktiske navnet på datavolumene med følgende kommando:
$ docker volum ls
Som du kan se, er det 2 bind for PGDEV prosjekt, PGDEV_DB-DATA og PGDEV_PGADMIN-DATA.
Du kan fjerne disse volumene med følgende kommando:
$ docker volum rm pgdev_db-data pgdev_pgadmin-data
Referanser:
[1] https: // hub.Docker.com/_/postgres?Tab = Beskrivelse
[2] https: // hub.Docker.com/r/dpage/pgadmin4/
[3] https: // www.pgadmin.org/docs/pgadmin4/siste/container_deployment.html