本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1)

介紹

項目最近要升級Posgres數據庫, 從9.6升級到12+。為瞭做一些migration測試,我本地要安裝幾個版本的Postgres,最方便的就是 用Docker安裝瞭,沒有版本沖突的問題,好管理,方便刪除。

另外建議使用docker-compose,或者stack,簡單說就是可以data存在本地,這樣每次重新啟動,數據不會丟,可以重復使用。如果 是做integration testing,則可以每次啟動一個新的DB。

下面docker-compose文件裡面還有pgAdmin,這樣使用Postgres更方便。也可以使用自己喜歡的DB browser,我自己用IDEA(ultimate) 帶的Database plugin。

支持 Intel CPU

我在MacOS下用瞭一段時間,沒問題。

  • 保存成docker-compose.yml文件
  • 在文件路徑下運行 docker-compose up -d

說明:

  • user和password自己隨意設置
  • volumes是本地保存數據庫的路徑
  • ports:默認是5432。我一般喜歡改成15432,項目多瞭,10000下的port很擁擠
  • pgadmin的email和password是頁面登陸密碼
  • pgadmin的volumes和ports跟Postgres性質一樣
version: '3.5'

services:
 postgres:
 container_name: pg12
 image: postgres:12
 environment:
 POSTGRES_USER: pg12
 POSTGRES_PASSWORD: pg12
 PGDATA: /data/postgres
 volumes:
 - postgres12:/Users/szhang/postgresql/pg12
 ports:
 - "5432:5432"
 networks:
 - pg12
 restart: unless-stopped

 pgadmin:
 container_name: pgadmin12
 image: dpage/pgadmin4
 environment:
 PGADMIN_DEFAULT_EMAIL: [email protected]
 PGADMIN_DEFAULT_PASSWORD: [email protected]
 volumes:
 - pgadmin12:/Users/szhang/postgresql/.pgadmin12
 ports:
 - "27777:80"
 networks:
 - pg12
 restart: unless-stopped

networks:
 pg12:
 driver: bridge

volumes:
 postgres12:
 pgadmin12:

支持 Apple M1

這個版本唯一不同在於Postgres image 是ARM版本的,專門支持最新的Apple M1芯片的電腦。另外多說一句,Apple M1電腦可以跑Docker, 但是很多Docker image還沒有ARM版,所以目前用M1電腦做開發(需要docker)還不方便。

version: '3.5'

services:
 postgres:
 container_name: pg12
 image: arm64v8/postgres:12.6
 environment:
 POSTGRES_USER: pg12
 POSTGRES_PASSWORD: pg12
 PGDATA: /data/postgres
 volumes:
 - postgres12:/Users/shubozhang/dev/postgresql/pg12
 ports:
 - "5432:5432"
 networks:
 - pg12
 restart: unless-stopped

 pgadmin:
 container_name: pgadmin12
 image: dpage/pgadmin4
 environment:
 PGADMIN_DEFAULT_EMAIL: [email protected]
 PGADMIN_DEFAULT_PASSWORD: [email protected]
 volumes:
 - pgadmin12:/Users/shubozhang/dev/postgresql/.pgadmin12
 ports:
 - "27777:80"
 networks:
 - pg12
 restart: unless-stopped

networks:
 pg12:
 driver: bridge

volumes:
 postgres12:
 pgadmin12:

測試

pgAdmin

登陸,使用docker-compose裡面的email和密碼

使用界面

Intellij IDE

使用用戶名,密碼,和端口就可以鏈接瞭。

到此這篇關於本地Docker安裝Postgres 12 + pgadmin (支持Apple M1)的文章就介紹到這瞭,更多相關Docker安裝Postgres 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!