2022云计算国赛-容器云应用部署

这篇具有很好参考价值的文章主要介绍了2022云计算国赛-容器云应用部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言:前三题都是常见的容器构建,而第四题的构建是自己推测的,存在一点问题,仅供学习参考,还未解决,最后的docker-compose则是借鉴的,是没啥问题的。
有需要可以加群q726922223大家相互交流一下解题思路。

【任务 2】容器云应用部署:Docker Compose 编排部署[7.0 分]

Hyperf 是一个高性能、高灵活性的渐进式 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性。请根据要求完成数据库服务 MariaDB、缓存服务 Redis、微服务 Hyperf 及前端服务Nginx 按照要求进行容器化。

【题目 1】容器化 MariaDB 服务[1 分]

编写Dockerfile 文件构建hyperf-mariadb:v1.0 镜像,具体要求如下:(需要用到的软件包:
Hyperf.tar.gz)

(1)基础镜像:centos:7.9.2009;
(2)完成 MariaDB 服务的安装;
(3)声明端口:3306;
(4)设置数据库 root 用户的密码为root;
(5)将提供的数据库文件 hyperf_admin.sql 导入数据库;
(6)设置服务开机自启。
完成后构建镜像,并提交master 节点的用户名、密码和 IP 地址到答题框。

1,上传centos镜像

[root@k8s-master-node1 images]# docker load -i centos_7.9.2009.tar

2,构建初始化脚本

#mysql初始化自启动脚本

[root@k8s-master-node1 Hyperf]# cat mysql_init.sh
#!/bin/bash
mysql_install_db --user=root
mysqld_safe --user=root &
sleep 8
mysqladmin -u root password 'root'
mysql -uroot -proot -e "grant all on *.* to 'root'@'%' identified by 'root'; flush privileges;"
mysql -uroot -proot -e " source /opt/hyperf_admin.sql;"

3,配置yum源

#镜像本地yum源
[root@k8s-master-node1 Hyperf]# cat local.repo
[hypref]
name=hypref
baseurl=file:///root/yum
gpgcheck=0
enabled=1

4,开始构建

[root@k8s-master-node1 Hyperf]# cat Dockerfile-mariadb
FROM centos:centos7.9.2009
MAINTAINER Chinaskills
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
COPY yum /root/yum
ENV LC_ALL en_US.UTF-8
RUN yum -y install mariadb-server
COPY sql /opt/
COPY mysql_init.sh /opt/
RUN bash /opt/mysql_init.sh
EXPOSE 3306
CMD ["mysqld_safe","--user=root"]

[root@k8s-master-node1 Hyperf]# docker build -t hyperf-mariadb:v1.0 -f Dockerfile-mariadb .

1.镜像构建成功得 0.5 分;
2.数据库安装且导入数据成功得 0.5 分。

【题目 2】容器化Redis 服务[1 分]

编写 Dockerfile 文件构建 hyperf-redis:v1.0 镜像,具体要求如下:(需要用到的软件包:
Hyperf.tar.gz)
(1)基础镜像:centos:7.9.2009;
(2)安装Redis 服务;
(3)关闭保护模式;
(4)声明端口:6379;
(5)设置服务开机自启。
完成后构建镜像,并提交master 节点的用户名、密码和 IP 地址到答题框。

[root@k8s-master-node1 Hyperf]# cat Dockerfile-redis
FROM centos:centos7.9.2009
MAINTAINER huhy
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
COPY yum /root/yum
RUN yum -y install redis
RUN sed -i 's/127.0.0.1/0.0.0.0/g' /etc/redis.conf && \
   sed -i 's/protected-mode yes/protected-mode no/g' /etc/redis.conf
EXPOSE 6379
CMD ["/usr/bin/redis-server","/etc/redis.conf"]

[root@k8s-master-node1 Hyperf]# docker build -t hyperf-redis:v1.0 -f Dockerfile-redis .

1.镜像构建成功的 0.5 分;
2.Redis 服务安装成功且配置正确得 0.5 分。

【题目 3】容器化Nginx 服务[0.5 分]

编写 Dockerfile 文件构建hyperf-nginx:v1.0 镜像,具体要求如下:(需要用到的软件包:
Hyperf.tar.gz)
(1)基础镜像:centos:7.9.2009;
(2)安装nginx 服务;
(3)声明端口:80;
(4)设置服务开机自启。
完成后构建镜像,并提交master 节点的用户名、密码和 IP 地址到答题框。

[root@k8s-master-node1 Hyperf]# cat Dockerfile-nginx
FROM centos:centos7.9.2009
MAINTAINER huhy
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
COPY yum /root/yum
RUN yum -y install nginx
EXPOSE 80
CMD ["nginx","-g","daemon off;"]

[root@k8s-master-node1 Hyperf]# docker build -t hyperf-nginx:v1.0 -f Dockerfile-nginx .

1.镜像构建成功得 0.3 分;
2.Nginx 安装成功且配置正确得 0.2 分。

【题目 4】容器化Hyperf 服务[1 分]

编写Dockerfile 文件构建hyperf-service:v1.0 镜像,具体要求如下:(需要用到的软件包:
Hyperf.tar.gz)
(1)基础镜像:centos:7.9.2009;
(2)安装 PHP 及扩展;
(3)使用源码编译安装Swoole。
完成后构建镜像,并提交master 节点的用户名、密码和 IP 地址到答题框。

FROM centos:centos7.9.2009
MAINTAINER huhy
RUN rm -rf /etc/yum.repos.d/*
# 上传repo文件
COPY local.repo /etc/yum.repos.d/
# 上传yum源
COPY yum /root/yum
# 上传swoole
COPY swoole-v4.8.3.zip /root/
# 安装php及相关扩展
RUN yum -y install php php-cli php-fpm php-mbstring php-pdo php-mysqlnd php-redis php-zip php-gd php-xml php-pear php-devel
# 安装编译所需的工具
RUN yum -y install gcc make autoconf libc-dev pkg-config
# 复制Swoole源码到容器中
COPY swoole-v4.8.3.zip /usr/local/src/swoole-v4.8.3.zip
# 解压Swoole源码
RUN yum install -y unzip
RUN cd /root/ && unzip swoole-v4.8.3.zip -d /usr/local/src/
# 编译Swoole并安装
RUN cd /usr/local/src/swoole-v4.8.3/ && phpize && ./configure --enable-openssl --enable-http2 --enable-sockets && make && make install
# 设置工作目录
WORKDIR /var/www
# 将PHP配置文件复制到容器中
COPY project /var/www/
# 暴露端口
EXPOSE 9501
# 设置开机启动
CMD ["php", "/var/www/backend/bin/hyperf.php", "start"]
[root@k8s-master-node1 Hyperf]# docker build -t hyperf-service:v1.0 -f Dockerfile-php .

1.镜像构建成功得 0.5 分;
2.PHP 安装成功得 0.2 分;
3.Swoole 安装成功得 0.3 分。

【题目 5】编排部署Hyperf 框架[3.5 分]

编写/root/hyperf/project/docker-compose.yaml 文件,具体要求如下:
(1)容器 1 名称:hyperf-mysql;镜像:hyperf-mariadb:v1.0;端口映射:3306:3306;
(2)容器 2 名称:hyperf-redis;镜像:hyperf-redis:v1.0;
(3)容器 3 名称:hyperf-ui;镜像:hyperf-nginx:v1.0;端口映射:80:8081;
(4)容器 4 名称:hyperf-service;镜像:hyperf-service:v1.0。
完成后编排部署Hyperf 框架,并提交master 节点的用户名、密码和 IP 地址到答题框。

version: '3.1'
services:
  app:
    container_name: hyperf-service
    image:  hyperf-service:v1.0
    command:
      - /bin/sh
      - -c
      - |    #下面都是启动容器后服务会执行的命名
        cd /data
        cp .env.dev.docker .env
        php -d memory_limit=-1 `which composer` i --no-dev
        rm -rf runtime/*
        php bin/hyperf.php start
    volumes:
      - ./backend:/data
    tty: true
    links:
      - mysql
      - redis
    environment:
      HOST_IP: 127.0.0.1
      HOST_PORT: 9511
  mysql:
    container_name: hyperf-mysql
    image: hyperf-mariadb:v1.0
    ports:
      - 3306:3306
    restart: always
  redis:
    image: hyperf-redis:v1.0
    container_name: hyperf-redis
    restart: always
  nginx:
    image: hyperf-nginx:v1.0
    container_name: hyperf-nginx
    ports:
      - 8081:80
    links:
      - app
    volumes:
      - ./conf.d/:/etc/nginx/conf.d
      - ./docker/log:/var/log/nginx
      - ./frontend:/var/www/frontend

.docker-compose.yaml 文件编排成功得 1.5 分;
2.8081 端口访问服务成功得 1 分;
3.Hyperf-service 连接数据库和Redis 成功得 1 分。文章来源地址https://www.toymoban.com/news/detail-413891.html

到了这里,关于2022云计算国赛-容器云应用部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2022 年全国职业院校技能大赛高职组云计算赛项试卷-容器云-1

    2022 年全国职业院校技能大赛高职组云计算赛项试卷 ........ 【任务 1 】容器云平台搭建[5 分] 【适用平台】私有云 【题目 1】平台部署--部署容器云平台[1.5 分] 登录 OpenStack 私有云平台,使用 CentOS7.9 镜像创建两台云主机,使用 kubeeasy 工具完成 Kubernetes 1.22.1 集群的搭建。然后

    2024年02月12日
    浏览(48)
  • 区块链技术与应用 【全国职业院校技能大赛国赛题目解析】第三套区块链系统部署与运维

    第三套区块链系统部署与运维题目 环境 : ubuntu20 fisco : 2.8.0 根据题意: 3个独立组织以及6个节点,网络拓扑为星型网络,并且在联盟链中需实现2个数据隔离场景(group1、group2) 所以需要agencyA[两个节点,1,2群组],agencyB[两个节点,1群组],agencyC[两个节点,2群组] 1.使用给定工

    2024年02月05日
    浏览(69)
  • 区块链技术与应用 【全国职业院校技能大赛国赛题目解析】第二套区块链系统部署与运维

    第二套区块链系统部署与运维题目 环境 : ubuntu20 fisco : 2.8.0 docker: 20.10.21 webase-deploy : 1.5.5 mysql: 8.0.34 使用 build_chain.sh 脚本文件进行搭建区块链 ,要求: 四节点,默认配置,单机,docker

    2024年02月08日
    浏览(111)
  • 区块链技术与应用 【全国职业院校技能大赛国赛题目解析】第一套区块链系统部署与运维

    第一套区块链系统部署与运维题目 环境 : ubuntu20 fisco : 2.8.0 题意: 要求搭建一条四节点的区块链系统,我们选择使用fisco作为此次测试的链子 我们使用build_chain.sh进行构建单机四节点,并且使用官方的默认端口【正式比赛大概率不会用默认端口,会有详细的说明使用什么端

    2024年02月08日
    浏览(66)
  • 区块链技术与应用 【全国职业院校技能大赛国赛题目解析】第五套区块链系统部署与运维

    第五套区块链系统部署与运维题目 环境 : ubuntu20 fisco : 2.8.0 此题在官网有例子如图: 每个机构拥有两个节点,机构A属于中心,属于群组1,2,3, 机构B只属于群组1, 机构C 只属于群组3,机构D只属于群组2。 然后根据此图编写ipconf文件,使用文件形式搭建节点【题目没有指定

    2024年02月04日
    浏览(52)
  • 蓝桥杯-左移右移(2022国赛)

      小蓝有一个长度为 N 的数组, 初始时从左到右依次是 1,2,3,… N 。   之后小蓝对这个数组进行了 M 次操作, 每次操作可能是以下 2 种之一: 左移 x , 即把 x 移动到最左边。 右移 x , 即把 x 移动到最右边。   请你回答经过 M 次操作之后, 数组从左到右每个数是多少? 输入格

    2023年04月08日
    浏览(41)
  • 计算机三级网络技术第三题考点

    数据包分析。     1、DHCP的工作流程如下:           1号报文是release报文,是DHCP客户机发给服务器申请释放IP地址的报文。     DHCP报文具体解析如下:     Boot record type--引导记录类型,值为1表示是客户机发出的报文,值为2表示是服务器发出的报文。     Hardware address  

    2024年02月07日
    浏览(51)
  • 十三届蓝桥杯国赛2022

    分苹果,不同之处在于一个盘子可以放0个苹果 直接贪心思想 过了90%,这种贪心其实无法保证全局最优 哪个局部没有最优呢? if(x=by=a) 这里,是选则用 A 还是用 B 我的选取规则是 尽量保留 AB 的总次数尤其是 A ,我想的是在 AB 都无法到达 9 的时候,只能用上A。但是,B也很珍

    2024年02月07日
    浏览(51)
  • 数学建模国赛2022C解题分享

    GitHub - KZF-kzf/MathModeling2022C: 数模国赛的所有代码和数据 数模国赛的所有代码和数据. Contribute to KZF-kzf/MathModeling2022C development by creating an account on GitHub. https://github.com/KZF-kzf/MathModeling2022C/tree/main 【更新一波,所有的代码和数据都放在了github上,需要的朋友自取】 ———————

    2024年02月06日
    浏览(45)
  • 2022国赛官方评审C题要点

    2022年C题 评阅要点 本题通过对古代玻璃制品的化学成分数据分析,研究有无风化玻璃制品成分的变化规律,以及高钾、铅钡两种玻璃类型的化学成分统计规律,并探索亚分类的方法,进而可以依据未知分类的文物化学成分对文物进行准确的分类。本题数据的主要特点是成分性

    2024年02月16日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包