容器化部署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 发布!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。