baicai

白菜

一个勤奋的代码搬运工!

Docker 运行 postgreSQL

简单步骤#

  1. 安装 docker,可参考 安装 docker 及简单的使用 或 百度解决;

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

    docker pull postgres
  1. 创建 docker volume,名字为 “dv_pgdata"(其实可以省略手动创建,直接跑下一步,docker 也会自动创建的):
    docker volume create dv_pgdata
  1. 启动容器,用 - 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
  1. 这时候查看已存在的 docker volume:
docker volume ls
  1. 查看 volume 信息:
cn2d6@navxin-desktop:~$ docker inspect dv_pgdata
  1. 在宿主机,也可以直接查看 volume 里的内容:
cn2d6@navxin-desktop:~$ cd /var/lib/docker/volumes/dv_pgdata/_data
cn2d6@navxin-desktop:~$ ll
  1. 查看 postgresql:
cn2d6@navxin-desktop:~$docker exec -it 618 bash
root@618f1a4128ee:/# psql -U postgres -d postgres -p 5432 -h 127.0.0.1
  1. 更多的时候,我们希望能用图形界面来管理和操作数据库,可以部署 pgadmin 工具(例如下面),然后在浏览器中访问宿主机的 5080 端口,便能打开 pgadmin。
docker pull dpage/pgadmin4
docker run --name pgadmin -p 5080:80 \
    -e '[email protected]' \
    -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

用 docker-compose 部署 postgresql 和 pgAdmin4#

准备步骤#

安装 docker-compose

    apt install docker-compose

确定已经 pull 好 postgres 和 pgAdmin4 镜像,若未完成:

    docker pull postgres
    docker pull dpage/pgadmin4

配置内容#

然后在任意目录下新建文件 docker-compose.yml:

    touch ./docker-compose.yml

内容如下:

    # Use postgres/example user/password credentials 
    # https://hub.docker.com/_/postgres?tab=description
    # 在当前目录下运行:sudo docker-compose up -d
    # 若需停止运行,在当前目录运行:sudo docker-compose down
    # docker路由地址查看: sudo docker inspect postgres_baicai
    # sudo docker kill $(sudo docker ps -aq)
    # sudo docker rm $(sudo docker ps -aq)
    version: '3.1'

    services:

    db:
        image: postgres
        restart: always
        privileged: true
        container_name: postgres_baicai
        ports:
        - 5432:5432
        environment:
        POSTGRES_PASSWORD: 你的密码
        PGDATA: /var/lib/postgresql/data/pgdata
        volumes:
        - /navxin/kn1/baicai_docker/baicai_postgres/pg_data:/var/lib/postgresql/data
        # - pgdata:/var/lib/postgresql/data

    pgadmin4:
        image: dpage/pgadmin4
        restart: always
        container_name: pgadmin_baicai
        ports:
        - 5080:80
        environment:
        PGADMIN_DEFAULT_EMAIL: "[email protected]"
        PGADMIN_DEFAULT_PASSWORD: 你的密码

    # volumes:
    #   pgdata:

部署#

在当前目录下运行:

    docker-compose up -d

若需停止运行,在当前目录运行:

    docker-compose down

连接步骤

打开浏览器,输入 localhost:5080,登录 pgAdmin4 之后,点击添加新服务器,特别注意,在连接地址 IP 里应该填写 docker 路由地址,端口填写 5432。
docker 路由地址查看方法

    docker inspect postgres_baicai

在输出内容中找到 Gateway,对应的地址即为 docker 路由地址。

更多参考:#

安装 docker 及简单的使用
postgres
dpage/pgadmin4

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。