首先使用 hub.docker.com 搜索 Postgresql
一、安裝和拉取鏡像
1.1 拉取鏡像
在 https://hub.docker.com/_/postgres 中查看“PostgreSQL數據庫鏡像”可用版本。
我選擇拉取PostgreSQL 11.14 版本:
docker pull postgres:11.14
1.2 創建本地卷
數據卷可以在容器之間共享和重用,默認會一直存在,即使容器被刪除(docker volume inspect pgdata可查看數據卷的本地位置)
docker volume create pgdata
1.3 運行一個PostgreSQL數據庫實例
docker run --name pgsql -p 5432:5432 -e POSTGRES_PASSWORD=abc123 -v pgdata:/var/lib/postgresql/data --restart=always -d postgres:11.14
一開始我是選擇
-v D:\pgsql\data:/var/lib/postgresql/data
這樣的參數,但是會啟動失敗:
2022-04-01 07:03:10.362 UTC [82] FATAL: data directory "/var/lib/postgresql/data" has invalid permissions
2022-04-01 07:03:10.362 UTC [82] DETAIL: Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
二、客戶端訪問
2.1 在實例內用 psql進行訪問:
# 第一條命令進入名為 `pgsql`的容器運行時;
docker exec -it pgsql bash
# 第二條命令登錄postgresql命令行控制台
psql -U postgres -W
根據提示輸入密碼 abc123
:
2.2 pgAdmin訪問
首先你需要下載安裝 pgAdmin
2.2.1 pgAdmin中add New Server時出現的錯誤
在 pgAdmin 中 Add New Server 時,出現了 crypt key is missing
的錯誤提示
解決方案:
重新啟動一下pgAdmin並正確設置 master 密碼。
就是這玩意兒不能跳過,必須填一下。
參考 What is "crypt key missing" error in Pgadmin4 and how to resolve it?
2.3 IDEA訪問
更多圖解:intellij連接postgresql數據庫
如果看不到右邊的 Database 欄,可以點擊 IDEA 左下角的試一下!