Docker Compose 部署 pig2.X

Compose 是 Docker 公司推出的一個工具軟件,可以管理多個 Docker 容器組成一個應用(稱爲一個 project,即項目)。Compose 定位是“Define and run multi-container applications with Docker”,其前身是 Fig,兼容 Fig 的模板文件。你需要定義一個 YAML 格式的配置文件docker-compose.yml,寫好多個容器之間的調用關係。然後,只要一個命令,就能同時啓動/關閉這些容器。

至於開源微服務框架pig,相信從事SpringCloud微服務開發和學習的,應該沒有人不知道大名鼎鼎的pig了吧,本人也是從去年接觸的pig1.x版本,並且之後有幸基於pig1.x版本進行開發大型平臺類項目,並且目前一直在迭代升級中。知道pig的應該也知道pigx吧,pigx是非開源的,需要購買,並且僅僅只能用於學習和畢設等。而在今年初,pig發佈了2.0版本,部署學習過pigx的應該能感受到,pig2.X版本可以說是pigx的一個簡化版。今天,日月就在這裏教大家使用Docker Compose部署pig2.X.

下面是pig在碼雲上的地址。
https://gitee.com/log4j/pig

環境準備:

1、安裝有docker的centos7.4以上版本的服務器一臺。
2、xshell

1、更新yum 源

yum update

2、安裝docker-compose

安裝方式一

sudo curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

在這裏插入圖片描述

what…居然下載不了,最後百度了很多方式比如修改hosts等也還是不行。。。簡直無語有木有
在這裏插入圖片描述

OK,本着不能在一棵樹上吊死的原則,咱們換一種安裝方式

安裝方式二

pip安裝

1、安裝python-pip

yum -y install epel-release
yum -y install python-pip

2、升級pip

python -m pip install -U pip

3、安裝docker-compose

pip install docker-compose

在這裏插入圖片描述

安裝成功,但是這種安裝方式有個奇怪的現象,安裝完後,docker-compose的目錄居然是在/usr/bin 下面,於是手動複製一份到/usr/local/bin下面。

查看 docker-compose 的版本

先賦權

sudo chmod +x /usr/local/bin/docker-compose
docker-compose version

在這裏插入圖片描述

3、使用git下載pig2.X源碼

git clone https://gitee.com/log4j/pig.git

下載完之後進行maven打包,注意本地jdk版本必須是1.8以上版本。

可以使用mvn -v查看maven依賴的jdk版本
在這裏插入圖片描述

4、pig打包

pig 根目錄

mvn clean install '-Dmaven.test.skip=true'

在這裏插入圖片描述

5、壓縮pig 整個工程上傳到docker 宿主機

將pig目錄整個壓縮成zip包上傳至服務器並解壓

在這裏插入圖片描述
ps:有條件的話用ftp上傳會更快一些。

6、部署

上傳後使用unzip 命令解壓,然後進入pig目錄

unzip pig.zip

在這裏插入圖片描述

執行 docker-compose 命令

構建鏡像
通過上圖,相信大家也看到了,pig已經有寫好的docker-compose.yml文件了,我們看看裏面的內容

version: '2'
services:
  pig-mysql:
    build:
      context: ./
      dockerfile: ./db/Dockerfile
    environment:
      MYSQL_ROOT_PASSWORD: root
    restart: always
    container_name: pig-mysql
    image: pig-mysql
    ports:
      - 3306:3306

  pig-redis:
    image: redis:5.0
    ports:
      - 6379:6379
    restart: always
    container_name: pig-redis
    hostname: pig-redis

  pig-eureka:
    build:
      context: ./
      dockerfile: ./pig-eureka/Dockerfile
    restart: always
    ports:
      - 8761:8761
    container_name: pig-eureka
    hostname: pig-eureka
    image: pig-eureka

  pig-config:
    build:
      context: ./
      dockerfile: ./pig-config/Dockerfile
    restart: always
    container_name: pig-config
    hostname: pig-config
    image: pig-config

  pig-gateway:
    build:
      context: ./
      dockerfile: ./pig-gateway/Dockerfile
    restart: always
    ports:
      - 9999:9999
    container_name: pig-gateway
    hostname: pig-gateway
    image: pig-gateway

  pig-auth:
    build:
      context: ./
      dockerfile: ./pig-auth/Dockerfile
    restart: always
    container_name: pig-auth
    hostname: pig-auth
    image: pig-auth

  pig-upms:
    build:
      context: ./
      dockerfile: ./pig-upms/pig-upms-biz/Dockerfile
    restart: always
    container_name: pig-upms
    hostname: pig-upms
    image: pig-upms

  pig-monitor:
    build:
      context: ./
      dockerfile: ./pig-visual/pig-monitor/Dockerfile
    restart: always
    ports:
      - 5001:5001
    container_name: pig-monitor
    hostname: pig-monitor
    image: pig-monitor

  pig-codegen:
    build:
      context: ./
      dockerfile: ./pig-visual/pig-codegen/Dockerfile
    restart: always
    container_name: pig-codegen
    hostname: pig-codegen
    image: pig-codegen

  pig-zipkin:
    build:
      context: ./
      dockerfile: ./pig-visual/pig-zipkin/Dockerfile
    restart: always
    image: pig-zipkin
    container_name: pig-zipkin
    ports:
      - 5002:5002

現在,我們執行語句進行鏡像構建

docker-compose build

在這裏插入圖片描述

很好,沒有出錯。

啓動容器

docker-compose up -d

在這裏插入圖片描述

等待3分鐘,查看容器運行狀態
在這裏插入圖片描述

防火牆開放訪問端口:
8761、9999、3306、6379、5001、5002

訪問Centos7 IP:8761 查看eureka狀態,確定所有服務全部啓動
eureka的訪問用戶密碼就是pig pig
在這裏插入圖片描述

可以看到,核心服務都運行正常。(由於我自己機器配置的原因,我把非核心的幾個服務的容器停止了。)
在這裏插入圖片描述

至此,Docker Compose部署pig2.X 後臺服務部分完成。

至於pig2.X前端項目的部署,這裏就不做敘述了,前端部署比較簡單,按照pig官方文檔教程一步步來就可以了。
pig前端項目地址
https://gitee.com/log4j/pig-ui
下面附幾張pig2.X前端運行後的圖片

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

如果該文章有幫助到您,就留言點個贊吧!您的支持與肯定是我持續更新最大的動力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章