【题目1】容器化部署Redis
在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@master redis]# ls
Dockerfile  ftp.repo[root@master redis]# cat ftp.repo
[gpmall]
name=gpmall
baseurl=ftp://192.168.200.10/gpmall-repo
gpgcheck=0
[centos]
name=centos
baseurl=ftp://192.168.200.10/centos
gpgcheck=0[root@master redis]# cat Dockerfile
[root@master redis]# cat Dockerfile
FROM centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -rf /etc/yum.repos.d/*
ADD ftp.repo /etc/yum.repos.d/
RUN yum -y install redis \
&& sed -i 's/bind 127.0.0.1/bind 0.0.0.0/g' /etc/redis.conf \  #设置免密(bind 127.0.0.1 修改为 bind 0.0.0.0 )
&& sed -i 's/protected-mode yes/protected-mode no/g' /etc/redis.conf #关闭保护模式 (protected-mode yes 修改为 protected-mode no)
EXPOSE 6379 #暴露容器内的端口
CMD ["redis-server","/etc/redis.conf"][root@master redis]# cd /root/redis/ && docker build -t chinaskill-redis:v1.1 .

【题目2】容器化部署MariaDB
在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@master mariadb]# ls
Dockerfile  ftp.repo  gpmall.sql  init.sh[root@master mariadb]# cat Dockerfile
FROM centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -rf /etc/yum.repos.d/*
ADD ftp.repo /etc/yum.repos.d/
ADD gpmall.sql init.sh /opt/
RUN yum -y install mariadb-server \
&& bash /opt/init.sh
ENV LC_ALL en_US.UTF-8  #设置字符编码:UTF-8
EXPOSE 3306
CMD ["mysqld_safe","--user=root"][root@master mariadb]# cat init.sh
#!/bin/bash
mysql_install_db --user=root  #初始化数据库
mysqld_safe --user=root &
sleep 3
mysqladmin -u root password '123456'  #设置数据库密码
mysql -uroot -p123456 -e "grant all privileges on *.* to root@'%' identified by '123456';" #授权
mysql -uroot -p123456 -e "set names utf8;create database gpmall character set utf8;use gpmall;source /opt/gpmall.sql;" #创建gpmall数据库[root@master mariadb]# docker build -t chinaskill-mariadb:v1.1 .

【题目3】容器化部署Zookeeper
在master节点上编写/root/zookeeper/Dockerfile文件构建chinaskill-zookeeper:v1.1镜像,具体要求如下:(需要用到的软件包在/桌面/附件/容器云附件/gpmall-single.tar.gz)
(1)基础镜像:centos:centos7.5.1804;
(2)作者:Chinaskill;
(3)开放端口:2181;
(4)设置服务开机自启。
完成后构建镜像,使用构建的镜像运行容器myzookeeper,并提交master节点的用户名、密码和IP到答题框。

[root@master zookeeper]# ls
Dockerfile  ftp.repo  zookeeper-3.4.14  zookeeper-3.4.14.tar.gz[root@master zookeeper]# cat Dockerfile
FROM centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -rf /etc/yum.repos.d/*
ADD ftp.repo /etc/yum.repos.d/
ADD zookeeper-3.4.14.tar.gz /opt/
RUN yum -y install java-1.8.0-openjdk* \
&& 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 && tail -f /etc/shadow"][root@master mariadb]# docker build -t chinaskill-zookeeper:v1.1 .

【题目4】容器化部署Kafka
在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@master kafka]# ls
Dockerfile  ftp.repo  kafka_2.11-1.1.1.tgz  zookeeper-3.4.14.tar.gz[root@master kafka]# cat Dockerfile
FROM centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -rf /etc/yum.repos.d/*
ADD ftp.repo /etc/yum.repos.d/
ADD zookeeper-3.4.14.tar.gz kafka_2.11-1.1.1.tgz /opt/
RUN yum -y install java-1.8.0-openjdk* \
&& 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@master kafka]# docker build -t chinaskill-kafka:v1.1 .

【题目5】容器化部署Nginx
在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@master nginx]# ls
dist                                gpmall-user-0.0.1-SNAPSHOT.jar
Dockerfile                          setup.sh
ftp.repo                            shopping-provider-0.0.1-SNAPSHOT.jar
gpmall-shopping-0.0.1-SNAPSHOT.jar  user-provider-0.0.1-SNAPSHOT.jar[root@master nginx]# cat Dockerfile
FROM centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -rf /etc/yum.repos.d/*
ADD ftp.repo /etc/yum.repos.d/
ADD *.jar setup.sh /root/
RUN yum -y install nginx java-1.8.0-openjdk*  \
&& sed -i '1a location /shopping { proxy_pass http://127.0.0.1:8081;}' /etc/nginx/conf.d/default.conf \
&& sed -i '2a location /user { proxy_pass http://127.0.0.1:8082;}' /etc/nginx/conf.d/default.conf \
&& sed -i '3a location /cashier { proxy_pass http://127.0.0.1:8083;}' /etc/nginx/conf.d/default.conf \
&& chmod +x /root/setup.sh \
&& rm -rf /usr/share/nginx/html/*
ADD dist /usr/share/nginx/html/
EXPOSE 80 8081 8082 8083 443
CMD ["nginx","-g","daemon off;"][root@master nginx]# cat setup.sh
#!/bin/bash
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@master nginx]# docker build -t chinaskill-nginx:v1.1 .

【题目6】编排部署商城
在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@master ~]# cat docker-compose.yaml
version: "3.3"
services:mysql.mall:container_name: mall-mysqlimage: chinaskill-mariadb:v1.1ports:- 13306:3306redis.mall:container_name: mall-redisimage: chinaskill-redis:v1.1ports:- 16379:6379zookeeper.mall:container_name: mall-zookeeperimage: chinaskill-zookeeper:v1.1ports:- 12181:2181kafka.mall:container_name: mall-kafkaimage: chinaskill-kafka:v1.1ports:- 19092:9092nginx-mall:depends_on:- mysql.mall- redis.mall- zookeeper.mall- kafka.mallcontainer_name: mall-nginximage: chinaskill-nginx:v1.1ports:- 83:80- 1443:443command: ["sh","-c","/root/setup.sh && nginx && tail -f /etc/shadow"]
数据库检查
[root@master ~]# docker exec -it mall-mysql bash[root@522c75b9af2e /]# mysql -uroot -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.23-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]>

k8s部署gpmall

[root@master gpmall]# cat k8s-gpmall.yaml
apiVersion: v1
kind: Pod
metadata:name: gpmalllabels:app: gpmall
spec:hostAliases:- ip: 127.0.0.1hostnames:- "zookeeper.mall"- "kafka.mall"- "mysql.mall"- "redis.mall"containers:- name: redisimage: chinaskill-redis:v1.1ports:- containerPort: 6379- name: mariadbimage: chinaskill-mariadb:v1.1ports:- containerPort: 3306- name: zookeeperimage: chinaskill-zookeeper:v1.1ports:- containerPort: 2181- name: kafkaimage: chinaskill-kafka:v1.1ports:- containerPort: 9092- name: nginximage: chinaskill-nginx:v1.1ports:- containerPort: 80command:- sh - -c - "bash /root/start.sh && nginx -g 'daemon off;'"---apiVersion: v1
kind: Service
metadata: name: chinaskill-mall
spec:selector:app: gpmalltype: NodePortports:- port: 80targetPort: 80nodePort: 30010

web应用商城部署(gpmall)相关推荐

  1. web应用商城部署(mall)

    [题目 1]容器化部署 MariaDB[2 分] 在 master 节 点 上 编 写 /root/mall-swarm/Dockerfile-mariadb 文 件 构 建 chinaskillma ...

  2. axis1 web Service 环境部署

    2019独角兽企业重金招聘Python工程师标准>>> Axis支持三种web service的部署和开发,分别为: 1.Dynamic Invocation Interface(D ...

  3. 如何将java web项目上线/部署到公网

    关于如何将Java Web上线,部署到公网,让全世界的人都可以访问的问题.小编将作出系列化,完整的流程介绍. 1.在myeclipse中开发好项目,打包成war格式,不会的同学参考以下 http:// ...

  4. IDEA创建Web项目及部署Tomcat

    IDEA创建Web项目及部署Tomcat 说明:本文章适用于IDEA2020及以后版本 操作 IDEA创建Web项目及部署Tomcat:IDEA2020创建Web项目(及部署Tomcat) 细节补充 ...

  5. Web应用_Tomcat部署及优化

    Web应用_Tomcat部署及优化 一.Tomcat概述 1.Tomcat构成 二.Tomcat 服务部署 1.关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下 2.安装JDK 3.设置 ...

  6. docker nginx部署web应用_实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署...

    最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...

  7. OpenCV-Python实战(21)——OpenCV人脸检测项目在Web端的部署

    OpenCV-Python实战(21)--OpenCV人脸检测项目在Web端的部署 0. 前言 1. OpenCV 人脸检测项目在 Web 端的部署 1.1 解析请求并构建响应 1.2 构建请求进行测 ...

  8. OpenCV-Python实战(20)——OpenCV计算机视觉项目在Web端的部署

    OpenCV-Python实战(20)--OpenCV计算机视觉项目在Web端的部署 0. 前言 1. Python Web 框架简介 2. Flask 安装与使用 2.1 Flask 安装 2.2 ...

  9. docker 运行 web 服务和部署 Go web app

    docker 运行 web 服务 和 部署 Go web app 文章目录 docker 运行 web 服务 和 部署 Go web app 一.docker 简介 二.docker 运行 web 服 ...

最新文章

  1. 我从吴恩达 AI For Everyone 中学到的十个重要 AI 观
  2. Android设计模式系列(3)--SDK源码之单例模式
  3. hibernate之关联关系(一对多)
  4. SVM-SMO算法python实现
  5. 如何使得WIN7下用VS2010做出的MFC程序具有XP风格(摆脱传统界面的效果)
  6. mybatis实战教程(mybatis in action),mybatis入门到精通(转)
  7. hadoop矩阵乘法源码_使用Hadoop计算共现矩阵
  8. C、C++实现 -- 字符串分割函数split
  9. QUIC特性之连接迁移和队头阻塞消除
  10. excel中单元格的引用方法
  11. 如何修改w7计算机用户名和密码忘记,w7系统开机密码忘记解决方法_win7忘记密码如何进入系统...
  12. 计算机图形学-二维图形的裁剪
  13. Win10禁用驱动签名,进入测试模式
  14. Holt-Winters双指数平滑的java实现
  15. 多线程面试题汇总(一)
  16. Godot4补间动画Tween
  17. avr单片机c语言 右移,AVR左移右移递增减流水灯
  18. jenkins linux 发邮件,Jenkins构建后发送邮件
  19. CVPR 2020 论文大盘点-行人检测与重识别篇
  20. PDF格式转换为WORD格式

热门文章

  1. 事务前沿研究丨事务测试体系解析
  2. python 股票量化盘后分析系统 V0.4
  3. CSS属性(一)之outline属性
  4. 《教务信息管理系统》项目总结
  5. HTML+CSS实现商品介绍模考(以Apple14为案例)
  6. Opencv简单介绍
  7. 09永恒之蓝与永恒之黑的复现
  8. 数据库系统工程师——考试分析(2023备考)
  9. 【OpenGL学习】光照贴图
  10. 大数据基础知识全集,大数据爱好者收藏必备