How to Run PostgreSQL and pgAdmin Using Docker(feat. Docker Engine, Docker-Compose V2)
Before Starting
All the work in this article is based on WSL(Windows Subsystem for Linux).
-
There are two versions for dokcer compose, V1 and V2.
- The big differene between two versions is that V2 supports the
compose
command as part of Docker CLI, so use V2 if you don't know which one to use. - Clike Here, and follow instructions if you want to download V1.
- I persoanlly use Docker Compose V2 and followed instructions from Here.
- The big differene between two versions is that V2 supports the
-
You must run docker daemon to run PostgreSQL and pgAdmin using Docker.
- If you don't know about docker daemon, you can learn in below link.
How to Use Docker in Windows without Docker Desktop by WSL and Docker Engine
- If you don't know about docker daemon, you can learn in below link.
Why Use Docker to Run PostgreSQL and pgAdmin?
You can locally install PostgreSQL and pgAdmin with below links.
However, there is a way of using PostgreSQL, pgAdmin without local installation, which is using a docker.
We will run uploaded PostgreSQL and pgAdmin images through a yaml file.
But before that, you must download docker-compose in order to run yaml file.
Prerequisite: Install Docker Compose V2
From below link, get latest release version of Docker Compose.
Docker Compose Version
-
In terminal, Run below code to download current stable release of Docker Compose
Currently, latest release version is 2.4.1$ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} $ mkdir -p $DOCKER_CONFIG/cli-plugins $ curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
-
Apply executable permissions to the binary.
$ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
-
Test installation by printing version
$ docker compose version > Docker Compose version v2.4.1
Run PostgreSQL and pgAdmin
Code
docker-compose.yml
version: "3"
services:
db:
container_name: test_db
image: postgres
environment:
POSTGRES_USER : test
POSTGRES_PASSWORD : 1234
POSTGRES_DB : test_db
ports:
- "5432:5432"
pgadmin:
container_name: test_pgadmin
image: dpage/pgadmin4
restart: always
environment:
PGADMIN_DEFAULT_EMAIL : [email protected]
PGADMIN_DEFAULT_PASSWORD: 1234
ports:
- "5050:80"
depends_on:
- db
Above is simple code which will run pgadmin and postgres.
Run and Connect
Now run the below command where docker-compose.yml is located.
$ docker compose up
If you successfully composed above code, you will be able to access pgadmin with localhost:5050
If the website looks like below picutre, Congrautations! you have successfully run pgAdmin with docker.
However, It is not done yet since you have to connect postgres db to pgAdmin
.
Login pgAdmin with emil and password that is written in pgadmin section of yaml file which are [email protected]
and 1234
After login, Click Servers / Register / Server
In General, Name
anything you want to name the server.
In Connection, write container_name of db on Host name
and fill out username and password.
Tip : Host name / address
should be filled with IP + port number of database if you connect local installed pgAdmin and Postgres db. However, docker provides IP + port as container name if you run both program through the docker.
If you are successfully connected pgAdmin with Postgres DB, you will see the database under the server like below picture.
Author And Source
이 문제에 관하여(How to Run PostgreSQL and pgAdmin Using Docker(feat. Docker Engine, Docker-Compose V2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wlyu1208/How-to-Run-PostgreSQL-and-pgAdmin-Using-Dockerfeat.-Docker-Engine-Docker-Compose-V2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)