Docker环境下PostgreSQL的安装与管理指南

发表时间: 2020-10-26 15:44

Postgresql是最流行的几种开源数据库之一,使用Docker快速部署与管理Postgresql的基本操作步骤与流程如下:

1. 安装docker,参见Linux系统下安装docker步骤;

2. 拉取postgreSQL的docker镜像文件:docker pull postgres:latest

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:latest

5. 这时候查看已存在的docker volume: docker volume ls

6. 查看volume信息:

# docker inspect dv_pgdata

7. 在宿主机,也可以直接查看volume里的内容:

# cd /var/lib/docker/volumes/dv_pgdata/_data
# ll

8. 查看postgresql:

#docker exec -it 618 bash (618替换为容器实际id)
# psql -U postgres

psql
Type "help" for help.

9. 更多的时候,我们希望能用图形界面来管理和操作数据库,可以部署pgadmin工具(例如下面),然后在浏览器中访问宿主机的5080端口,便能打开与管理pgadmin。

# docker pull dpage/pgadmin4:latest

# docker run -d -p 5080:80 --name pgadmin -e PGADMIN_DEFAULT_EMAIL=xxxx@xxx.com -e PGADMIN_DEFAULT_PASSWORD=xxxxxxxx dpage/pgadmin4

10. 需要注意的是,docker中的run命令用来创建并运行容器,在创建完容器之后,以后可以用docker start 和docker stop来管理容器。针对上述两个命名容器,在后续使用时可以使用以下命令启停:

docker start my_postgres

docker stop my_postgres

docker start pgadmin

docker stop pgadmin