mac电脑上docker中安装postgresql

前言:

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上的具体安装过程,这里就不啰嗦了,傻瓜式安装。
      
      
  
上一篇:C# 多线程的实现


下一篇:随笔:MySQL:eq_range_index_dive_limit 索引下探接口