2020技能大赛改革赛云计算赛项 先电2.4 paas 容器部分记录

六眼飞鱼酱① 提交于 2020-12-28 01:20:05

1.部分

(1)任务1  Docker CE及私有仓库安装任务(5分)

1.在master、node1、node2、cicd-node各节点中分别安装DockerCE和docker-compose。(1分)

懒得写

2.在cicd-node节点安装Registry私有仓库,导入/opt/containerk8s/docker/images目录下所有镜像,并推送到Registry私有仓库。

懒得写

3.在node1节点上从仓库中拉取mysql:latest和wordpress:latest镜像,创建/root/wproject/docker-compse.yaml文件,编排部署wordpress,并设置 restart策略。

version: '2'
services:
  mysql:
    image: mysql:5.6
    expose:
      - "3306"
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=123456
  wordpress:
    image: wordpress:latest
    ports:
      - "82:80"
    restart: always
    environment:
      - WORDPRESS_DB_HOST=mysql
      - WORDPRESS_DB_USER=root
      - WORDPRESS_DB_PASSWORD=123456

4.在node1节点上停止并删除上述部署的wordpress容器。

[root@localhost 2020config]# docker-compose -f docker-compose.yml up -d
Creating network "2020config_default" with the default driver
Creating 2020config_mysql_1     ... done
Creating 2020config_wordpress_1 ... Done



[root@localhost 2020config]# docker-compose -f docker-compose.yml down
Stopping 2020config_wordpress_1 ... done
Stopping 2020config_mysql_1     ... done
Removing 2020config_wordpress_1 ... done
Removing 2020config_mysql_1     ... done
Removing network 2020config_default

 

(2)任务2  基于容器的web应用系统部署任务(10分)

将该公司开发的基于微服务架构的web应用系统Chinaskillmall实现全容器化部署(web应用系统Chinaskillmall容器化所需要的所有软件包在/opt/containerk8s/ Chinaskillmall目录下)。Chinaskillmall应用系统架构图如下:

模块

使用技术

备注

chinaskillmall.sql

Mysql

网站的数据库

dest目录

Nginx

网站的前端项目

chinaskillmall -shopping

web项目

8081端口,商品/购物车/首页渲染等交互

chinaskillmall -user

8082端口,提供用户相关的交互,如登录、注册、个人中心等

user-provider

后端服务

提供用户相关服务

shopping-provider

提供购物车、推荐商品、商品等服务

请将mysql数据库组件、redis组件和Zookeeper组件按照要求进行容器化,其他组件已经实现容器化,直接从仓库中拉取镜像运行容器即可(Chinaskillmall-Kafka:v1.1、Chinaskillmall-nginx:v1.1、Chinaskillmall-jar:v1.1):
1.编写Dockerfile制作数据库MySQL镜像,生成镜像名为Chinaskillmall-mysql:v1.1,并推送其到私有仓库。具体要求如下: 
(1)基于centos基础镜像;
(2)指定作者为Chinaskill;
(3)安装mariadb数据库,并使用root用户进行数据库初始化;设置数据库支持UTF-8编码;设定root用户的密码为123456,并给root用户赋予远程访问的权限;
(4)创建数据库Chinaskillmall并使用Chinaskillmall数据库,导入Chinaskillmalldb.sql;
(5)开放3306端口;
(6)设置服务自启动。

dockerfile 如下  --单纯实现功能 没有刻意去处理layer和cache 有要求自己优化 懒得搞我

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
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
CMD ["mysqld_safe"]
2.编写Dockerfile制作Redis镜像,生成镜像名为Chinaskillmall-Redis:v1.1,并推送到私有仓库。具体要求如下: 
(1)基于centos基础镜像; 
(2)指定作者为Chinaskill;
(3)安装Redis服务,暴露6379端口;
(4)设置服务自启动。

dockerfile如下 需要优化自己搞 仅供参考

FROM 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.编写Dockerfile制作Zookeeper镜像,生成镜像名为Chinaskillmall-Zookeeper:v1.1,并推送到私有仓库。具体要求如下: 
(1)基于centos基础镜像; 
(2)指定作者为Chinaskill;
(3)安装Zookeeper服务,暴露2181端口;
(4)设置服务自启动。

下次整理

 

4.创建/root/Chinaskillmallproject/docker-compose.yaml文件,使用上述镜像编排部署Chinaskillmall应用系统。 

下次写 这部分 设计 kafka zk 集群问题 

这个gpmall 容器化的  一共6个 images  其他的懒得写了很简单 ---- zk kafka redis mariadb jar(四个jar包 需注意启动依赖顺序 这里不多说) nginx(注意负载文件的写入就行了)

 

cicd的东西 换一个文章写点  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!