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
![fe0fe2024fe5b99eb80649edea76537a.png](https://i-blog.csdnimg.cn/blog_migrate/9783d24c476dae325f7ee90f67e575a8.jpeg)
10. 需要注意的是,docker中的run命令用来创建并运行容器,在创建完容器之后,以后可以用docker start 和docker stop来管理容器。针对上述两个命名容器,在后续使用时可以使用以下命令启停:
docker start my_postgres
docker stop my_postgres
docker start pgadmin
docker stop pgadmin