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

 更新时间:2021年03月23日 10:48:23   作者:Shubo Zhang  
这篇文章主要介绍了本地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和密码

使用界面

Intellij IDE

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

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

相关文章

  • Docker搭建php环境教程详解

    Docker搭建php环境教程详解

    这篇文章主要介绍了Docker搭建php环境教程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Docker安装运行SRS的过程记录

    Docker安装运行SRS的过程记录

    SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码,本文给大家介绍下Docker安装运行SRS的过程,感兴趣的朋友跟随小编一起看看吧
    2022-04-04
  • Docker使用阿里加速器安装centos教程

    Docker使用阿里加速器安装centos教程

    这篇文章主要介绍了Docker使用阿里加速器安装centos教程,需要的朋友可以参考下
    2017-04-04
  • docker compose入门helloworld的详细过程

    docker compose入门helloworld的详细过程

    docker-compose是基于docker的,所以我们需要先安装docker才能使用docker-compose,接下来通过本文给大家介绍docker compose入门helloworld的过程,一起看看吧
    2021-09-09
  • 使用Portainer部署Docker容器的项目实践

    使用Portainer部署Docker容器的项目实践

    这篇文章主要介绍了使用Portainer部署Docker容器的项目实践,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Docker安装Redis容器的实现步骤

    Docker安装Redis容器的实现步骤

    本文主要介绍了Docker安装Redis容器的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • docker 中配置 eureka的方法

    docker 中配置 eureka的方法

    这篇文章主要介绍了docker 中配置 eureka的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • docker.service启动报错的一次排查详解

    docker.service启动报错的一次排查详解

    这篇文章主要介绍了docker.service启动报错的一次排查详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 编写Dockerfile和构建自定义镜像的步骤与技巧

    编写Dockerfile和构建自定义镜像的步骤与技巧

    Docker已经成为现代应用程序开发和部署的重要工具之一,在Docker中,Dockerfile是定义和构建自定义镜像的键文件,本文将深入解读Dockerfile的编写和自定义镜像的构建过程,并分享一些实用的技巧和最佳实践,需要的朋友可以参考下
    2023-07-07
  • 浅谈docker-compose网络设置之networks

    浅谈docker-compose网络设置之networks

    这篇文章主要介绍了浅谈docker-compose网络设置之networks,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09

最新评论