本地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!
推薦閱讀:
- Docker搭建部署Node項目的方法步驟
- docker+nextcloud搭建個人雲存儲系統的實現
- Docker compose部署SpringBoot項目連接MySQL及遇到的坑
- docker-compose教程之安裝使用和快速入門
- docker-compose基於MySQL8部署項目的實現