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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。