2021全国职业院校技能大赛--ChinaSkillsMall电商系统

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 2021全国职业院校技能大赛--ChinaSkillsMall电商系统

前言



云梦公司开发了一套基于SpringBoot+MyBatis微服务架构的ChinaSkillsMall电商系统,

并实现全容器化部署,ChinaSkillsMall 电商应用系统架构如图 1 所示,系统说明如表 2 所示。


image.png


库组件、Redis 消息组件、RabbitMQ 消息组件、Nacos-Registry 注册

中心服务组件和前端 Nginx 组件按照要求进行容器化。(所需要的软件包 mall-swarm.tar.gz

在 http 服务中)。 【适用平台】私有云


【题目 1】容器化部署 MariaDB[2 分]

在 master 节 点 上 编 写 /root/mall-swarm/Dockerfile-mariadb 文 件 构 建

chinaskillmall-mariadb:v1.1 镜像,具体要求如下:

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

(2)作者:Chinaskill;

(3)安装并初始化 mariadb,密码:root;

(4)设置数据库编码为 UTF-8;

(5)开放端口:3306

(6)设置 mariadb 开机自启。


FROM centos:7.5.1804
MAINTAINER Chinaskill
RUN rm -rvf /etc/yum.repos.d/*
ADD ftp.repo /etc/yum.repos.d/
ADD gpmall.sql /root/
RUN yum install -y mariadb-server
RUN sed -i "13cport = 8066" /etc/my.cnf.d/server.cnf
ADD init.sh /root/init.sh
RUN chmod +x /root/init.sh
RUN /root/init.sh
ENV LC_ALL en_US.UTF-8
EXPOSE 3306
EXPOSE 8066
CMD ["mysqld_safe"]


【题目 2】容器化部署 Redis[1.5 分]


在 master 节点上编写/root/mall-swarm/Dockerfile-redis 文件构建 chinaskillmall-redis:v1.1

镜像,具体要求如下:

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

(2)作者:Chinaskill;

(3)安装 redis 服务;

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

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

(6)开放端口:6379;

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


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


1.docker build 构建镜像,有正确的返回计 0.4 分


2.启动容器,进入容器查看 redis 的 info 信息,有 connected_clients:1 计 0.5 分

3.进入容器查看配置文件,取消保护模式计 0.6 分


FROM 192.168.200.200/chinaskillproject/centos:7.5.1804
MAINTAINER Chinaskill
RUN rm -rvf /etc/yum.repos.d/*
COPY ftp.repo /etc/yum.repos.d/local.repo
RUN yum clean all
RUN yum list
RUN yum -y install redis
RUN sed -i -e 's@bind 127.0.0.1@bind 0.0.0.0@g' /etc/redis.conf
RUN sed -i -e 's@protected-mode yes@protected-mode no@g' /etc/redis.conf
RUN sed -i -e 's@daemonize yes@daemonize no@g' /etc/redis.conf
EXPOSE 6379
#ENTRYPOINT ["/usr/bin/redis-server","/etc/redis.conf"]
ENTRYPOINT redis-server /etc/redis.conf
CMD ["redis-server"]


【题目 3】容器化部署 Nacos-Registry[2 分]


在 master 节 点 上 编 写 /root/mall-swarm/Dockerfile-nacos 文 件 构 建

chinaskillmall-nacos:v1.1 镜像,具体要求如下:


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

(2)作者:Chinaskill;

(3)安装 jdk 工具和 nacos-server 工具;

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


[root@master mall-swarm]# cat Dockerfile-nacos 
FROM centos:centos7.5.1804
MAINTAINER chinaskill
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
ADD nacos-server-1.1.0.tar.gz /usr/local/
ADD jdk-8u121-linux-x64.tar.gz /usr/local/
ENV NACOS_HOME /usr/local/nacos
ENV JAVA_HOME /usr/local/jdk1.8.0_121
ENV PATH $PATH:$NACOS_HOME/bin:$JAVA_HOME/bin
EXPOSE 8848
CMD startup.sh -m standalone && tail -f $NACOS_HOME/logs/start.out


【题目 4】容器化部署前端服务[2 分]


【题目 5】编排部署 ChinaSkillsMall 商城[2.5 分]


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

(1)容器 1 名称:chinaskillmall-admin;镜像:mall/mall-admin:1.0-SNAPSHOT;端口


映射:8080:8080;


(2)容器 2 名称: chinaskillmall-auth;镜像:mall/mall-auth:1.0-SNAPSHOT;端口映


射:8401:8401;


(3)容器 3 名称:chinaskillmall-gateway;镜像:mall/mall-gateway:1.0-SNAPSHOT;


端口映射:8201:8201;


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


3306:3306;


(5)容器 5 名称:chinaskillmall-nacos;镜像:chinaskillmall-nacos:v1.1;端口映射:


8848:8848;


(6)容器 6 名称:chinaskillmall-nginx;镜像:chinaskillmall-nginx:v1.1;端口映射:


8888:80;


(7)容器 1 名称:chinaskillmall-redis;镜像:chinaskillmall-redis:v1.1;端口映射:

6379:6379。


完成后编排部署 ChinaSkillsMall 商城。然后提交 master 节点的用户名、密码和 IP 到答

题框。


version: '3'
services:
  db:
    image: chinaskill-mariadb:v1.1
    container_name: chinaskill-mysql
    ports:
      - 3306:3306
  redis:
    image: chinaskill-redis:v1.1
    container_name: chinaskill-redis
    ports:
      - 6379:6379
.. 
nginx:
    image: chinaskill-nginx:v1.1
    container_name: chinaskill-nginx
    ports:
      - 8888:80
      - ....


在浏览器上通过 http://IP:8888 访问 mall-swarm


相关文章
|
Ubuntu Linux KVM
分享一些OpenStack的qcow2格式实例镜像
分享一些OpenStack的qcow2格式实例镜像
13911 0
分享一些OpenStack的qcow2格式实例镜像
|
Kubernetes Linux API
[没接触过kubevirt?]15分钟快速入门kubevirt
什么是kubevirt? kubevirt是一个容器方式运行虚拟机的项目。`kubevirt`是附加`kubernetes`集群上的,它是通过 `CustomResourceDefinition(CRD)`部署到`Kubernetes API`变成资源对象。使用方式类似创建`deploy、pod`......这些资源清单。
5354 0
[没接触过kubevirt?]15分钟快速入门kubevirt
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
258377 0
|
API 数据安全/隐私保护
Argo CD接入LDAP认证或者gitea认证的方法
argocd默认是通过修改argocd-cm来添加账户的,添加完账户后,还需要使用argocd客户端命令去给账户设置密码,这肯定是比较麻烦的,为了方便使用,我们可以接入ldap认证或者gitea的oauth2认证。 这里我们主要写ldap认证,因为gitea没有提供组信息给dex,而ldap能返回组信息 ,gitea的接入会在文章的末尾进行简单介绍 关键词:argocd ldap dex
2289 1
Argo CD接入LDAP认证或者gitea认证的方法
|
Linux 数据安全/隐私保护
【Cloud】修改CentOS官方 云镜像的ROOT密码
在私有云平台使用中,去CentOS官网下载qcow2格式的镜像,发现运行之后不知道密码无法进入系统。现在提供两种修改or注入密码的方法
6784 0
【Cloud】修改CentOS官方 云镜像的ROOT密码
|
Linux 网络安全 网络架构
记录没有到主机的路由问题解决
报错日志没有到主机的路由
5647 0
记录没有到主机的路由问题解决
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
17692 31
|
Java Serverless Apache
9 个开源项目、25 个课题可选丨欢迎报名阿里云云原生开源之夏
2024 开源之夏,阿里云云原生应用平台团队开放了包括 Apache Dubbo/Apache RocketMQ/Apache Seata/Higress/iLogtail /Nacos/Sentinel/Spring Could Alibaba / Serverless Devs 在内,涉及微服务、消息、可观测、Serverless 4 大技术领域的 9 个开源项目。
2051 119
|
前端开发 Java 数据库连接
35个项目,开源,开源!
35个项目,开源,开源!
1272 0
35个项目,开源,开源!
|
运维 网络安全 Docker
JumpServer——使用Docker快速搭建
JumpServer——使用Docker快速搭建
384 1
JumpServer——使用Docker快速搭建
下一篇
开通oss服务