2024广东省职业技能大赛云盘算——容器化部署MariaDB

打印 上一主题 下一主题

主题 851|帖子 851|积分 2553

容器化部署MariaDB

前言

本年比赛的容器化部署第一道考的似乎就是这个,是往年国赛的题,直接给照搬过来了,今天就做做这道题:
编写Dockerfile构建镜像erp-mysql:v1.0,要求使用centos7.9.2009镜像作为底子镜像,完成MariaDB数据库的安装,设置root用户的密码为tshoperp,新建数据库jsh_erp并导入数据库文件jsh_erp.sql,并设置MariaDB数据库开机自启。
环境使用的是之前搭建的容器环境:2024广东省职业技能大赛云盘算赛项实战——容器云平台搭建-CSDN博客
因为只须要k8s环境,只须要用kubeeasy安装到k8s就行了
操纵过程

解压ERP压缩包

  1. [root@k8s-master-node1 ~]# tar -zxf ERP.tar.gz
  2. [root@k8s-master-node1 ~]# ls ERP
  3. app.jar  CentOS_7.9.2009.tar  jsh_erp.sql  nginx  yum
复制代码
加载系统镜像

  1. #先切换至ERP目录
  2. [root@k8s-master-node1 ~]# cd ERP/
  3. #加载CentOS 7.9镜像
  4. [root@k8s-master-node1 ERP]# docker load -i CentOS_7.9.2009.tar   
  5. Loaded image: centos:centos7.9.2009
复制代码
编写堆栈文件

  1. [root@k8s-master-node1 ERP]# vi local.repo
  2. [erp]
  3. name=erp
  4. baseurl=file:///root/yum/
  5. enabled=1
  6. gpgcheck=0
复制代码
编写数据库安装、配置脚本

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

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

  1. [root@k8s-master-node1 ERP]# docker build -t erp-mysql:v1.0 -f Dockerfile-mariadb .
  2. ...
  3. Successfully built e737983b1c8b
  4. Successfully tagged erp-mysql:v1.0
  5. #检查无误
  6. [root@k8s-master-node1 ERP]# docker images | grep erp
  7. erp-mysql                                           v1.0             e737983b1c8b   8 minutes ago   1.14GB
复制代码
后语

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表