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上的具體安裝過程,這裏就不囉嗦了,傻瓜式安裝。
      
      
  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章