您的位置:首页 > 服务器 > > 正文

postgresql docker 宿主机(本地Docker安装Postgres 12 + pgadmin的方法 支持Apple M1)

更多 时间:2021-10-19 06:22:08 类别:服务器 浏览量:2451

postgresql docker 宿主机

本地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: a@gmail.com
     PGADMIN_DEFAULT_PASSWORD: a@gmail.com
     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: a@gmail.com
     PGADMIN_DEFAULT_PASSWORD: a@gmail.com
     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和密码

    postgresql docker 宿主机(本地Docker安装Postgres 12 + pgadmin的方法 支持Apple M1)

    使用界面

    postgresql docker 宿主机(本地Docker安装Postgres 12 + pgadmin的方法 支持Apple M1)

    Intellij IDE

    使用用户名,密码,和端口就可以链接了。

    postgresql docker 宿主机(本地Docker安装Postgres 12 + pgadmin的方法 支持Apple M1)

    到此这篇关于本地Docker安装Postgres 12 + pgadmin (支持Apple M1)的文章就介绍到这了,更多相关Docker安装Postgres 内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!

    您可能感兴趣