qidao123.com技术社区-IT企服评测·应用市场
标题:
云计算-容器云-编排摆设商城gpmall-single
[打印本页]
作者:
反转基因福娃
时间:
2025-5-7 22:29
标题:
云计算-容器云-编排摆设商城gpmall-single
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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/)
Powered by Discuz! X3.4