mac电脑上docker中安装postgresql

简介: 前言: 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
11月前
|
前端开发 安全 测试技术
Postman Mac 版安装终极指南:从下载到流畅运行,一步到位
Postman 是 API 开发与测试的高效工具,支持各类 HTTP 请求调试与团队协作。本文详解 Mac 版下载、安装步骤,助你快速上手。同时推荐一体化 API 协作平台 Apifox,集文档、调试、测试于一体,提升开发效率与团队协同能力。
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
11月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
1670 3
docker 安装 Postgres 17.6
|
10月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
936 6
|
10月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
756 2
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
1785 4
|
iOS开发 MacOS 索引
在不受支持的 Mac 上安装 macOS Tahoe 26
在不受支持的 Mac 上安装 macOS Tahoe 26
1048 0
在不受支持的 Mac 上安装 macOS Tahoe 26
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
4432 0