天天看点

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
           
Docker Compose 部署 pig2.X

what…居然下载不了,最后百度了很多方式比如修改hosts等也还是不行。。。简直无语有木有

Docker Compose 部署 pig2.X

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 部署 pig2.X

安装成功,但是这种安装方式有个奇怪的现象,安装完后,docker-compose的目录居然是在/usr/bin 下面,于是手动复制一份到/usr/local/bin下面。

查看 docker-compose 的版本

先赋权

sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
           
Docker Compose 部署 pig2.X

3、使用git下载pig2.X源码

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

下载完之后进行maven打包,注意本地jdk版本必须是1.8以上版本。

可以使用mvn -v查看maven依赖的jdk版本

Docker Compose 部署 pig2.X

4、pig打包

pig 根目录

mvn clean install '-Dmaven.test.skip=true'
           
Docker Compose 部署 pig2.X

5、压缩pig 整个工程上传到docker 宿主机

将pig目录整个压缩成zip包上传至服务器并解压

Docker Compose 部署 pig2.X

ps:有条件的话用ftp上传会更快一些。

6、部署

上传后使用unzip 命令解压,然后进入pig目录

unzip pig.zip
           
Docker Compose 部署 pig2.X

执行 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 部署 pig2.X

很好,没有出错。

启动容器

docker-compose up -d
           
Docker Compose 部署 pig2.X

等待3分钟,查看容器运行状态

Docker Compose 部署 pig2.X

防火墙开放访问端口:

8761、9999、3306、6379、5001、5002

访问Centos7 IP:8761 查看eureka状态,确定所有服务全部启动

eureka的访问用户密码就是pig pig

Docker Compose 部署 pig2.X

可以看到,核心服务都运行正常。(由于我自己机器配置的原因,我把非核心的几个服务的容器停止了。)

Docker Compose 部署 pig2.X

至此,Docker Compose部署pig2.X 后台服务部分完成。

至于pig2.X前端项目的部署,这里就不做叙述了,前端部署比较简单,按照pig官方文档教程一步步来就可以了。

pig前端项目地址

https://gitee.com/log4j/pig-ui

下面附几张pig2.X前端运行后的图片

Docker Compose 部署 pig2.X
Docker Compose 部署 pig2.X
Docker Compose 部署 pig2.X

如果该文章有帮助到您,就留言点个赞吧!您的支持与肯定是我持续更新最大的动力。

继续阅读