1. Install docker;
Reference URL:
Docker Introductory Installation Tutorial (Novels)
Install Docker on Linux (very simple installation method)
2. Pull the docker image file of postgreSQL: docker pull postgres:12.1
3. Create docker volume, named "dv_pgdata" (in fact, you can omit manual creation, run the next step directly, docker will also automatically create): docker volume create dv_pgdata
4. Start the container and use -v to specify that the postgres data directory is mapped to the dv_pgdata created above: docker run --name my_postgres -v dv_pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=xxxxxx -p 5432:5432 -d postgres:12.1
5. At this time, check the existing docker volume: docker volume ls
6. View volume information:
[root@VM_0_6_centos _data]# docker inspect dv_pgdata [ { "CreatedAt": "2020-01-14T08:40:03+08:00", "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/dv_pgdata/_data", "Name": "dv_pgdata", "Options": {}, "Scope": "local" } ]
7. On the host machine, you can also view the content in the volume directly:
[root@VM_0_6_centos _data]# cd /var/lib/docker/volumes/dv_pgdata/_data [root@VM_0_6_centos _data]# ll total 132 drwx------ 19 polkitd ssh_keys 4096 Jan 14 08:40 . drwxr-xr-x 3 root root 4096 Jan 14 08:33 .. drwx------ 5 polkitd ssh_keys 4096 Jan 14 08:38 base drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 global drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 pg_commit_ts drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 pg_dynshmem -rw------- 1 polkitd ssh_keys 4535 Jan 14 08:38 pg_hba.conf -rw------- 1 polkitd ssh_keys 1636 Jan 14 08:38 pg_ident.conf drwx------ 4 polkitd ssh_keys 4096 Jan 14 08:45 pg_logical drwx------ 4 polkitd ssh_keys 4096 Jan 14 08:38 pg_multixact drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:40 pg_notify drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 pg_replslot drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 pg_serial drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 pg_snapshots drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:40 pg_stat drwx------ 2 polkitd ssh_keys 4096 Jan 14 16:44 pg_stat_tmp drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 pg_subtrans drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 pg_tblspc drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 pg_twophase -rw------- 1 polkitd ssh_keys 3 Jan 14 08:38 PG_VERSION drwx------ 3 polkitd ssh_keys 4096 Jan 14 08:38 pg_wal drwx------ 2 polkitd ssh_keys 4096 Jan 14 08:38 pg_xact -rw------- 1 polkitd ssh_keys 88 Jan 14 08:38 -rw------- 1 polkitd ssh_keys 26588 Jan 14 08:38 -rw------- 1 polkitd ssh_keys 36 Jan 14 08:40 -rw------- 1 polkitd ssh_keys 94 Jan 14 08:40
8. Check out postgresql:
[root@VM_0_6_centos ~]#docker exec -it 618 bash root@618f1a4128ee:/# psql -U postgres psql (12.1 (Debian 12.1-1.pgdg100+1)) Type "help" for help. postgres=#
9. More often, we hope to use a graphical interface to manage and operate the database. We can deploy the pgadmin tool (such as below), and then access the host's port 5080 in the browser to open pgadmin.
docker pull dpage/pgadmin4:4.17 docker run --name pgadmin -p 5080:80 \ -e 'PGADMIN_DEFAULT_EMAIL=pekkle@' \ -e 'PGADMIN_DEFAULT_PASSWORD=xxxxxx' \ -e 'PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=True' \ -e 'PGADMIN_CONFIG_LOGIN_BANNER="Authorised users only!"' \ -e 'PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10' \ -d dpage/pgadmin4:4.17
This is the article about the methods and steps of running postgreSQL with docker. For more related content on running postgreSQL by docker, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!