mac电脑上docker中安装postgresql

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 前言: docker真是一个好东西,是码农开发调试的神器,以前还要自己配置开发、测试环境,安装过程繁琐,容易出错,耗时很多,用docker基本能够在5分钟搞定,而且一次配置,每个环境都能够无差别部署,省时省力。

前言:

docker真是一个好东西,是码农开发调试的神器,以前还要自己配置开发、测试环境,安装过程繁琐,容易出错,耗时很多,用docker基本能够在5分钟搞定,而且一次配置,每个环境都能够无差别部署,省时省力。
最近公司的项目基本设计要求数据库每张表的每行记录的大小需要突破65535字节,经过研究,mysql(mysql限制每个表的最多存储4096列,并且每一行数据的大小不能超过65535字节)被pass 掉,选用postgresql,完美满足这个技术需求。

现在将在mac电脑上使用docker安装postgresql详细的每一步记录下来:

1.mac上docker环境安装:
(1)macOS 我们可以使用 Homebrew 来安装 Docker。Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:
     brew cask install docker
(2)如果需要手动下载,请点击以下链接下载 Stable 或 Edge 版本的 Docker for Mac。
     Stable版本下载地址:https://download.docker.com/mac/stable/Docker.dmg
     Edge版本下载地址:https://download.docker.com/mac/edge/Docker.dmg
     dmg安装过程基本是傻瓜式的,就不说了。
 安装成功,docker启动后,在终端中执行 :
     1.$ docker --version
     Docker version 17.09.1-ce, build 19e2cf6
 查看docker版本。
 在终端中执行:
      ~ docker info
      Containers: 6
       Running: 1
       Paused: 0
       Stopped: 5
      Images: 4
      Server Version: 18.09.2
      Storage Driver: overlay2
       Backing Filesystem: extfs
       Supports d_type: true
       Native Overlay Diff: true
      Logging Driver: json-file
      Cgroup Driver: cgroupfs
      ......
   查看docker信息。
  如果觉得还有docker安装问题,请参考:https://www.runoob.com/docker/macos-docker-install.html
  
  下面记录在docker上安装postgresql过程:
  1.安装PostgreSQL:
      docker pull postgres:9.4
  其中的9.4是pg数据库的版本号,因为公司其余项目使用的pg9.4版本,为了统一兼容,所以我这里也使用的是9.4版本,可以根据个人喜好,或者项目需求选择响应的版本。
  2.docker的容器默认情况下只能由本地主机访问,即A主机上的容器不能被B主机访问,所以要做端口映射:
      docker run --name postgres1 -e POSTGRES_PASSWORD=postgres -p 54321:5432 -d postgres:9.4 
  参数解释:
      (1)run,创建并运行一个容器; 
      (2)--name,指定创建的容器的名字,这里是postgres1;
      (3)-e POSTGRES_PASSWORD=postgres,设置环境变量,指定数据库的登录口令为postgres(pg数据库默认用户postgres的密码为postgres); 
      (4)-p 54321:5432,端口映射将容器的5432端口映射到本机实体机器的54321端口;
      (5)-d postgres:9.4,指定使用postgres:9.4作为镜像;
 3.验证结果
    在终端中运行:
      docker ps -a
    结果:
        ~ docker ps -a
      CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                      PORTS                     NAMES
      fa68e40d3e8f        postgres:9.4                   "docker-entrypoint.s…"   4 hours ago         Up 4 hours                  0.0.0.0:54321->5432/tcp   postgres1
      411fc1432207        kalilinux/kali-linux-docker    "/bin/bash"              5 months ago        Exited (127) 5 months ago                             vigorous_tereshkova
      a62d23d32a6c        encircles/easyswoole3:latest   "php /var/www/code/e…"   6 months ago        Exited (0) 6 months ago                               containerName
      faa85aa15633        hello-world                    "/hello"                 7 months ago        Exited (0) 7 months ago                               quirky_austin
      590ecd9e36bf        hello-world                    "/hello"                 7 months ago        Exited (0) 7 months ago                               awesome_liskov
      f7e5cd7f9503        hello-world                    "/hello"                 15 months ago       Exited (0) 15 months ago                              heuristic_easley
        ~
      
 4.连接数据库:
   psql链接数据库:
      psql -U postgres -h 127.0.0.1 -p 54321
   注意:
    postgres镜像默认的用户名为postgres, 我们设定的postgres用户的密码也是postgres。
 5.实用客户端:
    pgAdmin4 、navicat for postgresql 等客户端操作docker 中的pg数据库更方便,pgAdmin4 、navicat for postgresql 在mac上的具体安装过程,这里就不啰嗦了,傻瓜式安装。
      
      
  
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
4天前
|
SQL API 流计算
实时计算 Flink版产品使用合集之在Mac M1下的Docker环境中开启SQL Server代理的操作步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
19 1
|
5天前
|
安全 关系型数据库 数据库
PostGreSQL安装压缩包格式
PostGreSQL安装压缩包格式
|
6天前
|
SQL 缓存 关系型数据库
postgresql的安装和使用
postgresql的安装和使用
20 0
|
6天前
|
运维 监控 Java
开源PolarDB-X部署安装评测报告
在部署PolarDB-X时,需先准备符合要求的OS环境和安装JDK等依赖库。遇到的问题包括`protobuf`版本不兼容、`cmake`参数配置错误和启动服务时的配置挑战。文档更新滞后和错误信息不明确增加了安装难度。建议优化文档、提升错误信息引导性、提供自动化安装脚本、加强社区支持和产品功能。尽管安装过程复杂,但产品潜力值得认可,期待改进以提升用户体验。
105 7
|
6天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB安装体验
在尝试安装PolarDB的过程中,遇到了下载问题和安装障碍。官网下载页面不支持wget或curl下载rpm包,对CentOS7用户不友好。转而使用pxd安装方法,但遇到了两处障碍:1) 在安装mysql-client时,yum install mysql-shell失败,可能由于阿里云源的问题;2) pxd tryout命令执行出错,需将普通用户添加到docker用户组或使用root用户,文档未明确指出。安装过程中需要额外解决这些问题。
36 0
PolarDB安装体验
|
6天前
|
NoSQL Redis Docker
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
25 0
|
6天前
|
负载均衡 关系型数据库 MySQL
关系型数据库的安装和配置数据库节点
【5月更文挑战第5天】关系型数据库的安装和配置数据库节点
131 3
关系型数据库的安装和配置数据库节点
|
6天前
|
关系型数据库 MySQL 分布式数据库
快速体验开源PolarDB -X 部署安装
在CentOS上部署PolarDB-X标准版集群的体验包括三步:安装python3和docker(如果未预装),然后使用venv创建环境,安装pxd并验证。接着,通过`pxd tryout -t standard`部署集群,该过程需拉取大量镜像,可能耗时且占用数GB空间,建议事先清理空间并了解资源需求。部署后,可查询集群状态和健康信息。最终,使用`pxd cleanup`清理。过程中因磁盘空间不足遇到问题,建议体验前提供系统配置需求,并允许用户自定义MySQL参数。
|
6天前
|
关系型数据库 Linux 分布式数据库
源码编译实现PolarDB-X部署安装的体验报告
本文档记录了编译安装PolarDB-X的步骤,包括设置CentOS开发环境、从GitHub获取源码、编译(耗时较长)、解决依赖和权限问题、安装部署及测试验证。作者建议优化文档细节、减少编译时间、改进错误提示,并提议提供一键安装依赖脚本、新手视频教程及加强社区支持。整个过程虽有挑战,但具有成就感。
20 0
|
6天前
|
Ubuntu 关系型数据库 MySQL
使用PXD工具一键安装PolarDB-X的体验
这次体验挺有意思的,对PolarDB-X有了更深入的了解,也希望能通过这些建议帮助产品做得更好。
25 1
使用PXD工具一键安装PolarDB-X的体验