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.如果要映射的是windows下的路径,可以使用如下命令:docker run –name my_postgres -v D:\Docker\dv\postgres\data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=xxxxxxx -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

    1. 查看postgresql:#docker exec -it 618 bash (618替换为对应的对应的容器id)

    psql -U postgres
    psql
    Type "help" for help.

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

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

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

    docker start my_postgres
    docker stop my_postgres
    docker start pgadmin
    docker stop pgadmin