容器化部署 MariaDB
编写 Dockerfile 文件构建 mysql 镜像,要求基于 centos 完成 MariaDB 数据库 的安装和配置,并设置服务开机自启。 编写 Dockerfile 构建镜像 erp-mysql:v1.0,要求使用 centos7.9.2009 镜像作为 基础镜像,完成 MariaDB 数据库的安装,设置 root 用户的密码为 tshoperp,新 建数据库 jsh_erp 并导入数据库文件 jsh_erp.sql,并设置 MariaDB 数据库开机自 启。
[root@master 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 -y install 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@master ERP]# docker build -t erp-mysql:v1.0 -f Dockerfile-mariadb .
容器化部署 Redis
编写 Dockerfile 文件构建 redis 镜像,要求基于 centos 完成 Redis 服务的安装 和配置,并设置服务开机自启。 编写 Dockerfile构建镜像 erp-redis:v1.0,要求使用 centos7.9.2009镜像作为基 础镜像,完成 Redis 服务的安装,修改其配置文件关闭保护模式,并设置 Redis 服务开机自启。
[root@master 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 -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@master ERP]# docker build -t erp-redis:v1.0 -f Dockerfile-redis .
容器化部署 Nginx
编写 Dockerfile 文件构建 nginx 镜像,要求基于 centos 完成 Nginx 服务的安 装和配置,并设置服务开机自启。 编写 Dockerfile 构建镜像 erp-nginx:v1.0,要求使用 centos7.9.2009 镜像作为 基础镜像,完成 Nginx 服务的安装,使用提供的 app.tar.gz 和 nginx.conf 启动 Nginx 服务,并设置开机自启。
[root@master ERP]# cat Dockerfile-nginx
[root@master ERP]# docker build -t erp-nginx:v1.0 -f Dockerfile-nginx .
容器化部署 ERP
编写 Dockerfile 文件构建 erp 镜像,要求基于 centos 完成 JDK 环境和 ERP 服 务的安装与配置,并设置服务开机自启。 编写 Dockerfile 构建镜像 erp-server:v1.0,要求使用 centos7.9.2009 镜像作为 基础镜像,完成 JDK 环境的安装,启动提供的 jar 包,并设置服务开机自启。
[root@master ERP]# cat Dockerfile-erp
[root@master ERP]# docker build -t erp-service:v1.0 -f Dockerfile-erp .
编排部署 ERP管理系统
编写 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、erpnginx:v1.0 和 erp-server:v1.0,并将 nginx 服务的 80 端口映射到宿主机的 8888 端 口。
[root@master ERP]# docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------
erp-mysql mysqld_safe --user=root Up 0.0.0.0:3306->3306/tcp,:::3306->3306/tcp
erp-redis redis-server --port 6379 - ... Up 0.0.0.0:6379->6379/tcp,:::6379->6379/tcp
erp-server /bin/sh -c java -jar /root ... Up 0.0.0.0:9999->9999/tcp,:::9999->9999/tcp
erp-web-ui nginx -g daemon off; Up 0.0.0.0:8888->80/tcp,:::8888->80/tcp