容器化部署Pig快速开发框架

环境准备

[root@k8s-master-node1 ~]# tar -zxvf Pig.tar.gz -C /opt/
[root@k8s-master-node1 ~]# cd /opt/Pig/
[root@k8s-master-node1 Pig]# vi local.repo
[yum]
name=yum
baseurl=file:///root/yum
gpgcheck=0
enabled=1

1、容器化部署MariaDB(1分)

在master节点上编写/root/Pig/Dockerfile-mariadb文件构建pig-mariadb:v1.0镜像,具体要求如下:(需要用到的软件包:Pig.tar.gz)

(1)基础镜像:centos:centos7.9.2009;

(2)安装并初始化MariaDB,密码:root;

(3)将pig_codegen.sql、pig_config.sql、pig_job.sql、pig.sql导入数据库;

(4)声明端口:3306;

完成后构建镜像,并提交master节点的用户名、密码和IP地址到答题框。

[root@k8s-master-node1 Pig]# vi Dockerfile-mariadb
FROM centos:centos7.9.2009

RUN rm -rf /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d
ADD yum /root/yum
RUN yum install mariadb mariadb-server -y

ENV LC_ALL pig-auth
COPY mysql /opt
RUN mysql_install_db --user=root
RUN mysqld_safe --user=root & sleep 8; \
    mysqladmin -u root password root; \
    mysql -uroot -proot -e "grant all privileges on*.*to 'root'@'%' identified by 'root';"; \
    mysql -uroot -proot -e "source /opt/pig.sql;source /opt/pig_job.sql;source /opt/pig_config.sql;source /opt/pig_codegen.sql;"

EXPOSE 3306
CMD ["mysqld_safe","--user=root"]
[root@k8s-master-node1 Pig]# docker build -t pig-mariadb:v1.0 -f Dockerfile-mariadb .
[root@k8s-master-node1 Pig]# docker image list |grep pig

2、容器化部署Redis(1分)

在master节点上编写/root/Pig/Dockerfile-redis文件构建pig-redis:v1.0镜像,具体要求如下:(需要用到的软件包:Pig.tar.gz)

(1)基础镜像:centos:centos7.9.2009;

(2)安装redis服务;

(3)修改配置文件中的bind 127.0.0.1为bind 0.0.0.0;

(4)设置redis免密,并关闭保护模式;

(5)声明端口:6379;

(6)设置服务开机自启。

完成后构建镜像,并提交master节点的用户名、密码和IP地址到答题框。

[root@k8s-master-node1 Pig]# vi Dockerfile-redis
FROM centos:7.9.2009

RUN rm -rf /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
ADD yum /root/yum
RUN yum install redis -y

RUN sed -i 's/bind 127.0.0.1/bind 0.0.0.0/g' /etc/redis.conf
RUN sed -i 's/protected-mode yes/protected-mode no/g' /etc/redis.conf

EXPOSE 6379
CMD ["redis-server","/etc/redis.conf"]
[root@k8s-master-node1 Pig]# docker build -t pig-redis:v1.0 -f Dockerfile-redis .

3、容器化部署Pig(1.5分)

在master节点上编写/root/Pig/Dockerfile-pig文件构建pig-service:v1.0镜像,具体要求如下:(需要用到的软件包:Pig.tar.gz)

(1)基础镜像:centos:centos7.9.2009;

(2)安装openjdk服务;

(3)声明端口:3000、4000、8848、9999;

(4)使用提供的jar包启动pig服务并设置开机自启。

完成后构建镜像,并提交master节点的用户名、密码和IP地址到答题框。

[root@k8s-master-node1 Pig]# vi pig-start.sh
#!/bin/bash
sleep 5
nohup java -jar /root/pig-register.jar &
sleep 5
nohup java -jar /root/pig-gateway.jar &
sleep 5
nohup java -jar /root/pig-auth.jar &
sleep 5
nohup java -jar /root/pig-upms-biz.jar &
sleep 1h

[root@k8s-master-node1 Pig]# vi Dockerfile-pig 
FROM centos:7.9.2009

RUN rm -rf /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
ADD yum /root/yum
RUN yum install java-1.8.0-* -y

COPY *.jar /root/
COPY pig-start.sh /root
RUN chmod +x /root/pig-start.sh

EXPOSE 3000 4000 8848 9999
CMD ["/bin/bash","/root/pig-start.sh"]
[root@k8s-master-node1 Pig]# docker build -t pig-service:v1.0 -f Dockerfile-pig .

4、容器化部署前端服务(1分)

在master节点上编写/root/Pig/Dockerfile-nginx文件构建pig-ui:v1.0镜像,具体要求如下:(需要用到的软件包:Pig.tar.gz)

(1)基础镜像:centos:centos7.9.2009;

(2)安装nginx服务;

(3)将dist拷贝到/data目录下,并将pig-ui.conf拷贝到/etc/nginx/conf.d/目录下;

(4)设置nginx服务开机自启。

完成后构建镜像,并提交master节点的用户名、密码和IP地址到答题框。

[root@k8s-master-node1 Pig]# vi Dockerfile-nginx
FROM centos:7.9.2009

RUN rm -rf /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
ADD yum /root/yum/
RUN yum install nginx -y

COPY nginx/dist /data
ADD nginx/pig-ui.conf /etc/nginx/conf.d

EXPOSE 80
CMD ["nginx","-g","daemon off;"]
[root@k8s-master-node1 Pig]# docker build -t pig-ui:v1.0 -f Dockerfile-nginx .

5、编排部署Pig快发开发平台(2.5分)

在master节点上编写/root/Pig/docker-compose.yaml文件,具体要求如下:

(1)容器1名称:pig-mysql;镜像:pig-mariadb:v1.0;端口映射:3306:3306;

(2)容器2名称: pig-redis;镜像:pig-redis:v1.0;端口映射:6379:6379;

(3)容器3名称:pig-service;镜像:pig-service:v1.0;端口映射:8848:8848、9999:9999;

(4)容器4名称:pig-ui;镜像:pig-ui:v1.0;端口映射:8888:80。

完成后编排部署该博客系统,并提交master节点的用户名、密码和IP地址到答题框。

version: '3'
services:
  pig-mysql:
    container_name: pig-mysql
    image: pig-mariadb:v1.0
    restart: always
    ports:
    - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: root
    links:
    - pig-service:pig-register
  pig-redis:
    container_name: pig-redis
    hostname: pig-redis
    image: pig-redis:v1.0
    restart: always
    ports:
    - 6379:6379
    links:
    - pig-service:pig-register
  pig-service:
    container_name: pig-service
    hostname: pig-service
    image: pig-service:v1.0
    restart: always
    ports:
    - 8848:8848
    - 9999:9999
    extra_hosts:
    - pig-register:127.0.0.1
    - pig-upms:127.0.0.1
    - pig-gateway:127.0.0.1
    - pig-auth:127.0.0.1
    - pig-hou:127.0.0.1
    stdin_open: true
    tty: true
    privileged: true
  pig-ui:
    container_name: pig-ui
    image: pig-ui:v1.0
    restart: always
    ports:
    - 8888:80
    links:
    - pig-service:pig-gateway
本文由博客一文多发平台 OpenWrite 发布!

生雨声
1 声望0 粉丝