马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
gpmall-single
情况准备
- [root@k8s-master-node1 gpmall-single]# vim local.repo
- [centos]
- name=centos
- baseurl=http://10.24.1.75/centos/
- gpgcheck=0
- enabled=1
- [yum]
- name=yum
- baseurl=file:///root/gpmall-repo
- gpgcheck=0
- enabled=1
复制代码 1、【实操题】容器化摆设Redis(1分)
在master节点上编写/root/redis/Dockerfile文件构建chinaskill-redis:v1.1镜像,详细要求如下:(需要用到的软件包:gpmall-single.tar.gz)
(1)基础镜像:centos:centos7.5.1804;
(2)作者:Chinaskill;
(3)修改配置文件中的bind 127.0.0.1为bind 0.0.0.0;
(4)设置Redis免密,并关闭保护模式;
(5)开放端口:6379;
(6)设置服务开机自启。
完成后构建镜像,并提交master节点的用户名、密码和IP地址到答题框。- [root@k8s-master-node1 gpmall-single]# mkdir redis
- [root@k8s-master-node1 gpmall-single]# cp local.repo redis/
- [root@k8s-master-node1 gpmall-single]# cp -r gpmall-repo/ redis/
- [root@k8s-master-node1 gpmall-single]# vim redis/Dockerfile
- FROM centos:7.9.2009
- RUN rm -rf /etc/yum.repos.d/*
- ADD local.repo /etc/yum.repos.d/
- ADD gpmall-repo /root/gpmall-repo
- RUN yum install redis -y
- RUN sed -i 's/protected-mode yes/protected-mode no/g' /etc/redis.conf
- RUN sed -i 's/bind 127.0.0.1/bind 0.0.0.0/g' /etc/redis.conf
- EXPOSE 6379
- CMD ["redis-server","/etc/redis.conf"]
- [root@k8s-master-node1 gpmall-single]# docker build -t chinaskill-redis:v1.1 -f redis/Dockerfile .
复制代码 2、【实操题】容器化摆设MariaDB(1.5分)
在master节点上编写/root/mariadb/Dockerfile文件构建chinaskill-mariadb:v1.1镜像,详细要求如下:(需要用到的软件包:gpmall-single.tar.gz)
(1)基础镜像:centos:centos7.5.1804;
(2)作者:Chinaskill;
(3)设置数据库密码:123456;
(4)创建数据库gpmall并导入数据库文件gpmall.sql;
(5)设置数据库字符编码:UTF-8;
(6)开放端口:3306;
(7)设置服务开机自启。
完成后构建镜像,并提交master节点的用户名、密码和IP地址到答题框。- [root@k8s-master-node1 ~]# mkdir mariadb
- [root@k8s-master-node1 ~]# cd mariadb/
- [root@k8s-master-node1 mariadb]# vim Dockerfile
- FROM centos:7.9.2009
- RUN rm -rf /etc/yum.repos.d/*
- ADD local.repo /etc/yum.repos.d/
- ADD gpmall-repo /root/gpmall-repo
- RUN yum install mariadb mariadb-server -y
- RUN echo -e "[mysqld]\ncharacter-set-server=utf8">>/etc/my.cnf
- ENV LC_ALL en_US.UTF-8
- COPY gpmall.sql /root/
- RUN mysql_install_db --user=root
- RUN mysqld_safe --user=root & sleep 8 ;\
- mysqladmin password 123456 ;\
- mysql -u root -p123456 -e "grant all privileges on *.* to 'root'@'%' identified by '123456';" ;\
- mysql -u root -p123456 -e "create database gpmall; use gpmall;source /root/gpmall.sql;"
- EXPOSE 3306
- CMD ["mysqld_safe","--user=root"]
- [root@k8s-master-node1 mariadb]# cp /root/gpmall-single/gpmall.sql .
- [root@k8s-master-node1 mariadb]# cp -r /root/gpmall-single/gpmall-repo/ .
- [root@k8s-master-node1 mariadb]# cp /root/gpmall-single/local.repo .
- [root@k8s-master-node1 mariadb]# docker build -t chinaskill-mariadb:v1.1 -f Dockerfile .
复制代码 3、【实操题】容器化摆设Zookeeper(1.5分)
在master节点上编写/root/zookeeper/Dockerfile文件构建chinaskill-zookeeper:v1.1镜像,详细要求如下:(需要用到的软件包:gpmall-single.tar.gz)
xxxxxxxxxx 【检测类型】命令行检测【登录管理器】账户密码【检测命令1】[0.5分]docker-compose -f /root/Monitor/docker-compose.yaml ps|grep running【判分尺度】monitor-alertmanager || 9093->9093 || monitor-grafana || 3000->3000 || monitor-node || 9100->9100 || monitor-prometheus || 9090->9090【判分竣事】【检测命令2】[0.5分]docker exec monitor-prometheus cat /data/prometheus/prometheus.yml【判分尺度】node-exporter || alertmanager【判分竣事】【检测命令3】[0.5分]curl -L http://$(hostname -i):9090/targets【判分尺度】alertmanager (1/1 up) || node (1/1 up) || prometheus (1/1 up)【判分竣事】【检测命令4】[0.5分]curl -u admin:admin http://$(hostname -i):3000/datasources【判分尺度】nginx【判分竣事】【检测命令5】[0.5分]curl -L http://$(hostname -i):9093【判分尺度】Alertmanager【判分竣事】shell
(2)作者:Chinaskill;
(3)开放端口:2181;
(4)设置服务开机自启。
xxxxxxxxxx [root@k8s-master-node1 project]# cat docker-compose.yamlversion: '3'services: app: container_name: hyperf-service image: hyperf-service:v1.0 restart: always command: "sleep 2h" hyperf-mysql: container_name: hyperf-mysql image: hyperf-mariadb:v1.0 restart: always ports: - 3306:3306 hyperf-redis: container_name: hyperf-redis image: hyperf-redis:v1.0 restart: always hyperf-ui: container_name: hyperf-ui image: hyperf-nginx:v1.0 restart: always ports: - "8081:80" volumes: - /root/hyperf/project/docker/conf.d:/etc/nginx/conf.d - /root/hyperf/project/frontend:/var/www/frontend[root@k8s-master-node1 project]# docker-compose up -dshell- [root@k8s-master-node1 ~]# mkdir zookeeper
- [root@k8s-master-node1 ~]# cd zookeeper/
- [root@k8s-master-node1 zookeeper]# vim Dockerfile
- FROM centos:7.9.2009
- RUN rm -rf /etc/yum.repos.d/*
- ADD local.repo /etc/yum.repos.d/
- ADD gpmall-repo /root/gpmall-repo
- # RUN yum install java-1.8.0-* -y
- RUN yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
- ADD zookeeper-3.4.14.tar.gz /opt
- RUN mv /opt/zookeeper-3.4.14/conf/zoo_sample.cfg /opt/zookeeper-3.4.14/conf/zoo.cfg
- EXPOSE 2181
- CMD ["sh","-c","/opt/zookeeper-3.4.14/bin/zkServer.sh start-foreground"]
- [root@k8s-master-node1 zookeeper]# cp /root/gpmall-single/gpmall-repo/ . -r
- [root@k8s-master-node1 zookeeper]# cp /root/gpmall-single/local.repo .
- [root@k8s-master-node1 zookeeper]# cp /root/gpmall-single/zookeeper-3.4.14.tar.gz .
- [root@k8s-master-node1 zookeeper]# docker build -t chinaskill-zookeeper:v1.1 -f Dockerfile .
复制代码 4、【实操题】容器化摆设Kafka(1分)
在master节点上编写/root/kafka/Dockerfile文件构建chinaskill-kafka:v1.1镜像,详细要求如下:(需要用到的软件包:gpmall-single.tar.gz)
(1)基础镜像:centos:centos7.5.1804;
(2)作者:Chinaskill;
(3)开放端口:9092;
(4)设置服务开机自启。
完成后构建镜像,并提交master节点的用户名、密码和IP地址到答题框。- [root@k8s-master-node1 ~]# mkdir kafka
- [root@k8s-master-node1 ~]# cd kafka/
- [root@k8s-master-node1 kafka]# vim Dockerfile
- FROM centos:7.9.2009
- RUN rm -rf /etc/yum.repos.d/*
- ADD local.repo /etc/yum.repos.d/
- ADD gpmall-repo /root/gpmall-repo
- RUN yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
- ADD zookeeper-3.4.14.tar.gz /opt/
- ADD kafka_2.11-1.1.1.tgz /opt/
- RUN mv /opt/zookeeper-3.4.14/conf/zoo_sample.cfg /opt/zookeeper-3.4.14/conf/zoo.cfg
- EXPOSE 9092
- CMD ["sh","-c","/opt/zookeeper-3.4.14/bin/zkServer.sh start && /opt/kafka_2.11-1.1.1/bin/kafka-server-start.sh /opt/kafka_2.11-1.1.1/config/server.properties"]
- [root@k8s-master-node1 kafka]# cp -r /root/gpmall-single/local.repo .
- [root@k8s-master-node1 kafka]# cp -r /root/gpmall-single/gpmall-repo/ .
- [root@k8s-master-node1 kafka]# cp -r /root/gpmall-single/zookeeper-3.4.14.tar.gz .
- [root@k8s-master-node1 kafka]# cp -r /root/gpmall-single/kafka_2.11-1.1.1.tgz .
- [root@k8s-master-node1 kafka]# docker build -t chinaskill-kafka:v1.1 -f Dockerfile .
复制代码 5、【实操题】容器化摆设Nginx(1分)
在master节点上编写/root/nginx/Dockerfile文件构建chinaskill-nginx:v1.1镜像,详细要求如下:(需要用到的软件包:gpmall-single.tar.gz)
(1)基础镜像:centos:centos7.5.1804;
(2)作者:Chinaskill;
(3)编写/etc/nginx/conf.d/default.conf文件,配置反向代理,将80端口请求转发到8081、8082和8083;
(4)将dist中的文件复制到/usr/share/nginx/html/目录下;
(5)复制所有的jar包到镜像中;
(6)开放端口:80、443、8081、8082、8083;
(7)设置服务开机自启。
完成后构建镜像,并提交master节点的用户名、密码和IP地址到答题框。- [root@k8s-master-node1 ~]# mkdir nginx
- [root@k8s-master-node1 ~]# cd nginx/
- [root@k8s-master-node1 nginx]# vim Dockerfile
- FROM centos:centos7.5.1804
- MAINTAINER Chinaskill
- RUN rm -rf /etc/yum.repos.d/*
- ADD local.repo /etc/yum.repos.d/
- ADD gpmall-repo /root/gpmall-repo
- COPY *.jar /root/
- RUN yum -y install nginx java-1.8.0-openjdk java-1.8.0-openjdk-devel
- RUN sed -i '1a location /shopping { proxy_pass http://127.0.0.1:8081 ;}' /etc/nginx/conf.d/default.conf
- RUN sed -i '2a location /user { proxy_pass http://127.0.0.1:8082 ;}' /etc/nginx/conf.d/default.conf
- RUN sed -i '3a location /cashier { proxy_pass http://127.0.0.1:8083 ;}' /etc/nginx/conf.d/default.conf
- RUN rm -rf /usr/share/nginx/html/
- COPY dist/ /usr/share/nginx/html/
- ADD start.sh /root/
- RUN chmod +x /root/start.sh
- EXPOSE 80 443 8081 8082 8083
- CMD ["nginx","-g","daemon off;"]
- [root@k8s-master-node1 nginx]# vim start.sh
- nohup java -jar /root/shopping-provider-0.0.1-SNAPSHOT.jar &
- sleep 5
- nohup java -jar /root/user-provider-0.0.1-SNAPSHOT.jar &
- sleep 5
- nohup java -jar /root/gpmall-shopping-0.0.1-SNAPSHOT.jar &
- sleep 5
- nohup java -jar /root/gpmall-user-0.0.1-SNAPSHOT.jar &
- sleep 5
- [root@k8s-master-node1 nginx]# cp -r /root/gpmall-single/gpmall-repo/ .
- [root@k8s-master-node1 nginx]# cp -r /root/gpmall-single/*.jar .
- [root@k8s-master-node1 nginx]# cp -r /root/gpmall-single/dist .
- [root@k8s-master-node1 nginx]# cp -r /root/gpmall-single/local.repo .
- [root@k8s-master-node1 nginx]# docker build -t chinaskill-nginx:v1.1 -f Dockerfile .
复制代码 6、【实操题】编排摆设商城(4分)
在master节点上编写/root/chinaskillmall/docker-compose.yaml文件摆设,详细要求如下:
(1)容器1名称:mall-mysql;镜像:chinaskill-mariadb:v1.1;端口映射:13306:3306;
(2)容器2名称:mall-redis;镜像:chinaskill-redis:v1.1;端口映射:16379:6379;
(3)容器3名称:mall-kafka;镜像:chinaskill-kafka:v1.1;端口映射:19092:9092;
(4)容器4名称:mall-zookeeper;镜像:chinaskill-zookeeper:v1.1;端口映射:12181:2181;
(5)容器5名称:mall-nginx;镜像:chinaskill-nginx:v1.1;端口映射:83:80,1443:443;自启动所有的jar包程序。
完成后编排摆设商城,并能成功访问商城首页。然后提交master节点的用户名、密码和IP地址到答题框- [root@k8s-master-node1 ~]# mkdir chinaskillmall
- [root@k8s-master-node1 ~]# cd chinaskillmall/
- [root@k8s-master-node1 chinaskillmall]# vim docker-compose.yaml
- version: '3'
- services:
- mall-mysql:
- container_name: mall-mysql
- image: chinaskill-mariadb:v1.1
- restart: always
- ports:
- - 13306:3306
- mall-redis:
- depends_on:
- - mall-mysql
- container_name: mall-redis
- image: chinaskill-redis:v1.1
- restart: always
- ports:
- - 16379:6379
- mall-zookeeper:
- depends_on:
- - mall-redis
- container_name: mall-zookeeper
- image: chinaskill-zookeeper:v1.1
- restart: always
- ports:
- - 12181:2181
- mall-kafka:
- depends_on:
- - mall-zookeeper
- container_name: mall-kafka
- image: chinaskill-kafka:v1.1
- restart: always
- ports:
- - 19092:9092
- mall-nginx:
- depends_on:
- - mall-kafka
- container_name: mall-nginx
- image: chinaskill-nginx:v1.1
- restart: always
- ports:
- - 83:80
- - 1443:443
- links:
- - mall-mysql:mysql.mall
- - mall-redis:redis.mall
- - mall-zookeeper:zookeeper.mall
- - mall-kafka:kafka.mall
- command: ["sh","-c","/root/start.sh && nginx && tail -f /etc/shadow"]
复制代码本文由博客一文多发平台 OpenWrite 发布!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |