2024广东省职业技能大赛云计算赛项实战——容器化部署MariaDB

容器化部署MariaDB

前言

今年比赛的容器化部署第一道考的好像就是这个,是往年国赛的题,直接给照搬过来了,今天就做做这道题:
编写Dockerfile构建镜像erp-mysql:v1.0,要求使用centos7.9.2009镜像作为基础镜像,完成MariaDB数据库的安装,设置root用户的密码为tshoperp,新建数据库jsh_erp并导入数据库文件jsh_erp.sql,并设置MariaDB数据库开机自启。

环境使用的是之前搭建的容器环境:2024广东省职业技能大赛云计算赛项实战——容器云平台搭建-CSDN博客
因为只需要k8s环境,只需要用kubeeasy安装到k8s就行了

操作过程

解压ERP压缩包

[root@k8s-master-node1 ~]# tar -zxf ERP.tar.gz 
[root@k8s-master-node1 ~]# ls ERP
app.jar  CentOS_7.9.2009.tar  jsh_erp.sql  nginx  yum

加载系统镜像

#先切换至ERP目录
[root@k8s-master-node1 ~]# cd ERP/
#加载CentOS 7.9镜像
[root@k8s-master-node1 ERP]# docker load -i CentOS_7.9.2009.tar    
Loaded image: centos:centos7.9.2009

编写仓库文件

[root@k8s-master-node1 ERP]# vi local.repo
[erp]
name=erp
baseurl=file:///root/yum/
enabled=1
gpgcheck=0

编写数据库安装、配置脚本

[root@k8s-master-node1 ERP]# vi init.sh
#! /bin/bash
#指定root用户进行初始化数据库
mysql_initall_db --user=root
#指定root用户启动服务,并且在后台异步运行
mysqld_safe --user=root &
#这里休眠5秒,只是确保服务完全启动和初始化
sleep 5
#根据题目的要求,设置数据库账号密码
mysqladmin -u root password 'tshoperp'
#连接数据库,给root用户授予所有权限,flush privileges可以刷新权限,使设置生效
mysql -uroot -ptshoperp -e "grant all on *.* to 'root'@'%' identified by 'tshoperp';flush privileges;"
#根据题目的要求,创建数据库并导入数据库脚本文件
mysql -uroot -ptshoperp -e "create database jsh_erp;use jsh_erp;source /opt/jsh_erp.sql;"

编写Dockerfile文件

[root@k8s-master-node1 ERP]# vi Dockerfile-mariadb
#指定镜像
FROM centos:centos7.9.2009
#删除系统源
RUN rm -rf /etc/yum.repos.d/*
#移入我们写的仓库文件
COPY local.repo /etc/yum.repos.d/
#因为我们仓库文件写的是主目录,所以把软件源移动到主目录
COPY yum /root/yum
#设置容器内部的字符编码为UTF-8
ENV LC_ALL en_US.UTF-8
#安装mariadb服务
RUN yum -y install mariadb mariadb-server
#因为我们在数据库安装的脚本导入数据库步骤里写的是/opt/jsh_erp.sql,所以我们将脚本文件移动到opt目录
COPY jsh_erp.sql /opt/
#将数据库安装、配置脚本也移动到opt目录
COPY init.sh /opt/
#执行脚本
RUN bash /opt/init.sh
#在容器运行时将3306端口暴露出来
EXPOSE 3306
#启动命令,启动MariaDB服务器,并使用root用户身份运行。
CMD ["mysqld_safe","--user=root"]

构建镜像

[root@k8s-master-node1 ERP]# docker build -t erp-mysql:v1.0 -f Dockerfile-mariadb .
...
Successfully built e737983b1c8b
Successfully tagged erp-mysql:v1.0
#检查无误
[root@k8s-master-node1 ERP]# docker images | grep erp
erp-mysql                                           v1.0             e737983b1c8b   8 minutes ago   1.14GB

后语

构建好后,拍摄快照,我们的最终目标是完成ERP管理系统的部署。还需要构建redis、nginx和erp的镜像,最后编写yaml文件部署ERP。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/34167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入探讨Redis集群方案

一、什么是Redis集群 Redis集群(Redis Cluster)是Redis官方提供的分布式数据库解决方案,旨在通过将数据分散到多个节点上来实现水平扩展和高可用性。Redis集群提供了以下几个核心功能: 数据分片:将数据分布到多个节点…

Java变量命名规则

局部变量 使用驼峰命名以小写字母开头int myLocalVariable 实例变量(成员变量) 使用驼峰命名法小写字母开头myInstanceVariable 静态变量 使用驼峰命名法,以小写字母开头也可以使用大写蛇形命名法,全大写字母,单词…

护眼灯和普通台灯有什么区别?劣质护眼台灯宣传的三大套路

护眼灯和普通台灯有什么区别?围绕这一问题的讨论颇多。然而,真正体验过护眼台灯的人会深知,它与普通台灯之间的差异远非一般,涉及照明效果、色温调节、蓝光控制、闪烁问题及功能性设计等诸多层面。为了让更多人透彻理解这两者之间…

.locked勒索病毒详解 | 防御措施 | 恢复数据

引言 在数字化飞速发展的今天,我们享受着信息技术带来的便捷与高效,然而,网络安全问题也随之而来,且日益严重。其中,勒索病毒以其狡猾的传播方式和巨大的破坏性,成为了网络安全领域中的一大难题。.locked勒…

java实现多元预测(含代码)

1.多元预测介绍 多元预测(Multivariate Forecasting)是指使用多个变量或多个时间序列数据来预测未来的方法。与一元预测不同,多元预测考虑了多个因素对预测结果的影响,这些因素可以是同一时间序列的不同变量,也可以是来自不同数据源或不同领域的数据。 多元预测通常用于…

uniapp H5打开地图

manifest.json文件,源码视图找到H5添加下面内容 "h5" : {"sdkConfigs" : {"maps" : {"amap" : {"key" : "**********************","securityJsCode" : "****************************…

【Python】 使用 pandas 进行数据归一化

那年夏天我和你躲在 这一大片宁静的海 直到后来我们都还在 对这个世界充满期待 今年冬天你已经不在 我的心空出了一块 很高兴遇见你 让我终究明白 回忆比真实精彩 🎵 王心凌《那年夏天宁静的海》 数据归一化(Normalization&#xf…

OpenAI Sora:我们来自混乱,我们也将回归混乱

最近,我开始深入了解并整理一些关于Sora这个人工智能模型的系列文章。我的目标是从两个角度深入探讨:一是Sora的技术细节,包括它的原理和功能:OpenAI Sora:距离黑客帝国仅一步之遥,二是Sora的应用前景&…

c++课堂——基本知识(函数与表达式):第一讲

1.函数 在C语言中,函数是具有独立功能的一段程序,它由两部分组成:自变量(也数)和函数名。自变量可以是常量、变量或表达式;函数名要用标识符表示。通常使用函数就是调用函数名,并将原始数据代入…

孕妈妈如何高效备考PMP,纯经验分享

很惭愧从怀孕之前就报名PMP,一直处于备考,但是拖延症让我很难,在之前工作的时候,时间还算宽裕,所以基本都是边玩边学,直到现在PMP考试时间确定了才发现时间已经很紧迫了, 好在之前我报的班&…

Docker - Oracle Database Free

博文目录 文章目录 说明命令 说明 Oracle 镜像仓库 Docker 官方没有提供 Oracle Database 相关镜像, 但是 Oracle 官方有提供, 打开上面的链接, 选择 Database, 选择合适的版本, 如 enterprise, express 和 free, 这里以 free 为例. Free 分为 FULL 和 LITE 两个版本, 这里以 …

PPO代码理解

目录 # Finding the ratio (pi_theta / pi_theta__old): ratios torch.exp(logprobs - old_logprobs.detach()) advantages rewards - state_values.detach() surr1 ratios * advantages surr2 torch.clamp(ratios, 1-self.eps_clip, 1self.eps_clip) * advantages l…

【数据分析实战】—预测宠物收养状况数据分析

文章目录 数据集数据集描述特征用途注意 宠物收养预测环境准备探索数据帧数据预处理机器学习数据预处理:模型培训和评估:合奏学习: 添加底部名片获取数据集吧! 数据集 数据集描述 宠物收养数据集提供了对各种因素的全面调查&…

企微私域运营中的四大内容运营模块深度解析

在当前的数字营销时代,企业微信(企微)私域流量运营已成为企业获取用户、建立品牌、提升转化的重要手段。而在企微私域运营中,内容运营作为核心环节,其重要性不言而喻。本文将详细解析企微私域运营中的四大内容运营模块…

ES6新增语法

1、ECMA Ecma国际(Ecma International)是一家国际性会员制度的信息和电信标准组织。1994年之前,名为欧洲计算机制造商协会(European Computer Manufacturers Association) 2、ECMAScript ECMAScript 6(简…

【Linux】UNIX体系结构分解——操作系统,内核,shell

1.什么是操作系统? 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kerel),因为它相对较小,而且位于环境的核心。 从广义上…

前端开发接单公司做到哪些点,客户才愿意把项目包给你。

作为前端外包接单公司,你知道客户选择和你合作都看中哪些因素吗?单纯是价格吗?未必,本位给大家列举7个要素,并对每个要素做了定位,大家查缺补漏吧。 作为前端外包接单公司,要吸引同行客户将前端…

【初阶数据结构】深入解析栈:探索底层逻辑

🔥引言 本篇将深入解析栈:探索底层逻辑,理解底层是如何实现并了解该接口实现的优缺点,以便于我们在编写程序灵活地使用该数据结构。 🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔记 &#x1…

【Altium】打开原理图是空白的解决方法

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 打开画完的原理图,报错提示并且图纸为空白的解决方法 2、 问题场景 收到其他人画好的原理图,打开后提示报错:Load file error:值对于无符号的字节太大或太小。并且原理图显示为空…

java基于ssm+jsp 美食推荐管理系统

1前台首页功能模块 美食推荐管理系统,在系统首页可以查看首页、热门美食、美食教程、美食店铺、美食社区、美食资讯、我的、跳转到后台等内容,如图1所示。 图1前台首页功能界面图 用户注册,在注册页面可以填写用户名、密码、姓名、联系电话等…