【题目 1】2.2.1 容器化部署 MariaDB [0.5 分]
编写 Dockerfile 文件构建 mysql 镜像,要求基于 centos 完成 MariaDB 数据库的安装和配置,并设置服务开机自启。
编写 Dockerfile 构建镜像 erp-mysql:v1.0,要求使用 centos7.9.2009 镜像作为基础镜像,完成 MariaDB 数据库的安装,设置 root 用户的密码为 tshoperp,新建数据库 jsh_erp 并导入数据库文件 jsh_erp.sql,并设置 MariaDB 数据库开机自启。
完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:
curl -O {地址}
tar -xvf ERP.tar.gz
cd ERP
docker load -i CentOS_7.9.2009.tar
[root@k8s-master-node1 ERP]# cat local.repo
[erp]
name=erp
baseurl=file:///root/yum
gpgcheck=0
[root@k8s-master-node1 ERP]# cat mysql_init.sh
#!/bin/bash
mysql_install_db --user=root
mysqld_safe --user=root &
sleep 8
mysqladmin -u root password 'tshoperp'
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;"
[root@k8s-master-node1 ERP]# cat 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
ENV LC_ALL en_US.UTF-8
RUN yum install -y mariadb-server
COPY jsh_erp.sql /opt
COPY mysql_init.sh /opt
RUN bash /opt/mysql_init.sh
EXPOSE 3306
CMD ["mysqld_safe","--user=root"]
[root@k8s-master-node1 ERP]# docker build -t erp-mysql:v1.0 -f Dockerfile-mariadb .
【题目 2】2.2.2 容器化部署 Redis [0.5 分]
编写 Dockerfile 文件构建 redis 镜像,要求基于 centos 完成 Redis 服务的安装和配置,并设置服务开机自启。
编写 Dockerfile 构建镜像 erp-redis:v1.0,要求使用 centos7.9.2009 镜像作为基础镜像,完成 Redis 服务的安装,修改其配置文件关闭保护模式,并设置 Redis 服务开机自启。
完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:
ERP.tar.gz)
[root@k8s-worker-node1 ERP]# cat Dockerfile-redis
FROM centos:centos7.9.2009
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
COPY yum /root/yum
RUN yum install -y redis
RUN sed -i "s/bind 127.0.0.0/bind 0.0.0.0/g" /etc/redis.conf
RUN sed -i "s/protected-mode yes/protected-mode no/g" /etc/redis.conf
EXPOSE 6379
CMD redis-server /etc/redis.conf
docker build -t erp-redis:v1.0 -f Dockerfile-redis .
【题目 3】2.2.3 容器化部署Nginx [0.5 分]
编写 Dockerfile 文件构建 nginx 镜像,要求基于 centos 完成 Nginx 服务的安装和配置,并设置服务开机自启。
编写 Dockerfile 构建镜像 erp-nginx:v1.0,要求使用 centos7.9.2009 镜像作为基础镜像,完成 Nginx 服务的安装,使用提供的 app.tar.gz 和 nginx.conf 启动 Nginx 服务,并设置开机自启。
完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:
ERP.tar.gz)
[root@k8s-worker-node1 ERP]# cat Dockerfile-nginx
FROM centos:centos7.9.2009
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
COPY yum /root/yum
RUN yum install -y nginx
ADD nginx/app.tar.gz /
COPY nginx/nginx.conf /etc/nginx/
EXPOSE 80
CMD ["nginx","-g","daemon off;"]
docker build -t erp-nginx:v1.0 -f Dockerfile-nginx .
【题目 4】2.2.4 容器化部署 ERP[0.5 分]
编写 Dockerfile 文件构建 erp 镜像,要求基于 centos 完成 JDK 环境和 ERP 服务的安装与配置,并设置服务开机自启。
编写 Dockerfile 构建镜像 erp-server:v1.0,要求使用 centos7.9.2009 镜像作为基础镜像,完成 JDK 环境的安装,启动提供的 jar 包,并设置服务开机自启。
完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:
ERP.tar.gz)
[root@k8s-worker-node1 ERP]# cat Dockerfile-server
FROM centos:centos7.9.2009
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
COPY yum /root/yum
RUN yum install -y java*
COPY app.jar /opt
CMD java -jar /opt/app.jar
docker build -t erp-server:v1.0 -f Dockerfile-server .
【题目 5】2.2.5 编排部署 ERP 管理系统[1 分]
编写 docker-compose.yaml 文件,要求使用镜像 mysql、redis、nginx 和 erp 完成 ERP
管理系统的编排部署。
编写 docker-compose.yaml 完成 ERP 管理系统的部署,要求定义mysql、redis、nginx和erp 共四个Service,分别使用镜像erp-redis:v1.0、erp-mysql:v1.0、erp-nginx:v1.0和 erp-server:v1.0,并将 nginx 服务的 80 端口映射到宿主机的 8888 端口。
完成后提交 Master 节点的 IP 地址、用户名和密码到答题框。(需要用到的软件包:
ERP.tar.gz)
[root@k8s-master-node1 ERP]# cat docker-compose.yaml
version: '3'
services:
erp-mysql:
restart: always
container_name: erp-mysql
image: erp-mysql:v1.0
ports:
- 3306:3306
erp-redis:
restart: always
container_name: erp-redis
image: erp-redis:v1.0
command: redis-server --requirepass tshoperp --bind 0.0.0.0 --port 6379
ports:
- 6379:6379
erp-server:
restart: always
container_name: erp-server
image: erp-server:v1.0
ports:
- 9999:9999
erp-nginx:
restart: always
container_name: erp-nginx
image: erp-nginx:v1.0
ports:
- 8888:80