用docker運行postgreSQL


1. 安裝docker,百度解決;

 

2. 拉取postgreSQL的docker鏡像文件:docker pull postgres:12.1

 

3. 創建 docker volume,名字為“dv_pgdata"(其實可以省略手動創建,直接跑下一步,docker也會自動創建的):docker volume create dv_pgdata

 

4. 啟動容器,用-v來指定把postgres的數據目錄映射到上面創建的dv_pgdata里面:docker run --name my_postgres -v dv_pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=xxxxxx -p 5432:5432 -d postgres:12.1

 

5. 這時候查看已存在的docker volume:  docker volume ls

 

6. 查看volume信息: 

[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. 在宿主機,也可以直接查看volume里的內容:

[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 postgresql.auto.conf
-rw-------  1 polkitd ssh_keys 26588 Jan 14 08:38 postgresql.conf
-rw-------  1 polkitd ssh_keys    36 Jan 14 08:40 postmaster.opts
-rw-------  1 polkitd ssh_keys    94 Jan 14 08:40 postmaster.pid

 

8. 查看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. 更多的時候,我們希望能用圖形界面來管理和操作數據庫,可以部署pgadmin工具(例如下面),然后在瀏覽器中訪問宿主機的5080端口,便能打開pgadmin。

docker pull dpage/pgadmin4:4.17
docker run --name pgadmin -p 5080:80 \
    -e 'PGADMIN_DEFAULT_EMAIL=pekkle@abc.com' \
    -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

 

 

END


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM