二、容器云-ERP容器化部署(K8s集群中)

iqor 2026-1-12 63 1/12

K8s搭建收工!接下来的活儿:哄好容器、盯紧资源,顺便和bug们斗智斗勇~~~~~~~~~~~~

前置说明:(需要请点击获取)

1、ERP安装包

三、ERP容器化部署(Master节点)

1. 解压ERP安装包

说明:先将ERP包上传至/mnt目录,再解压到/opt目录

tar -zxvf /mnt/ERP.tar.gz  -C /opt
cd /opt/ERP

2. 编写yum源配置文件

cat <<EOF > /opt/ERP/ftp.repo
[erp]
name=erp
baseurl=file:///root/yum
enabled=1
gpgcheck=0
EOF

3. 创建Docker网络

说明:为ERP容器创建专属网络

docker network create erp-net

4. 验证网络创建结果

docker network ls

5. 编写数据库初始化脚本

说明:用于MariaDB容器初始化数据库、设置密码和导入数据

cat <<EOF > /opt/ERP/init_db.sh
#! /bin/bash
mysql_install_db --user=root
mysqld_safe --user=root &
sleep 5
mysqladmin -uroot 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;"
EOF

6. 导入CentOS7基础镜像

docker load -i /opt/ERP/CentOS_7.9.2009.tar

7. 构建MariaDB镜像

说明:基于CentOS7构建包含MariaDB和ERP数据库的镜像

cat <<EOF > /opt/ERP/Dockerfile_mariadb
FROM centos:centos7.9.2009
RUN rm -rf /etc/yum.repos.d/*
ADD ftp.repo /etc/yum.repos.d/
COPY yum /root/yum
ENV LC_ALL en_US.UTF-8
RUN yum -y install mariadb mariadb-server
COPY jsh_erp.sql /opt/
COPY init_db.sh /opt/
RUN bash /opt/init_db.sh
EXPOSE 3306
CMD ["mysqld_safe","--user=root"]
EOF

# 执行镜像构建
cd /opt/ERP/
docker build -t erp-mysql:v1.0 -f Dockerfile_mariadb .

8. 构建Redis镜像

说明:基于CentOS7构建Redis镜像,修改配置允许远程访问

cat <<EOF > /opt/ERP/Dockerfile_redis
FROM centos:centos7.9.2009
RUN rm -rf /etc/yum.repos.d/*
ADD ftp.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"]
EOF

# 执行镜像构建
docker build -t erp-redis:v1.0 -f Dockerfile_redis .

9. 构建Nginx镜像

说明:基于CentOS7构建包含ERP前端页面的Nginx镜像

cat <<EOF > /opt/ERP/Dockerfile_nginx
FROM centos:centos7.9.2009
RUN rm -rf /etc/yum.repos.d/*
COPY ftp.repo /etc/yum.repos.d/
COPY yum /root/yum
RUN yum -y install nginx
COPY nginx/nginx.conf /etc/nginx/nginx.conf
COPY nginx/app.tar.gz /
RUN tar -zxf /app.tar.gz -C /
EXPOSE 80
CMD ["nginx","-g","daemon off;"]
EOF

# 执行镜像构建
docker build -t erp-nginx:v1.0 -f Dockerfile_nginx .

10. 构建ERP后端服务镜像

说明:基于CentOS7构建包含Java环境和ERP后端jar包的镜像

cat <<EOF > /opt/ERP/Dockerfile_erp
FROM centos:centos7.9.2009
RUN rm -rf /etc/yum.repos.d/*
COPY ftp.repo /etc/yum.repos.d/
COPY yum /root/yum
RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
COPY app.jar /root
EXPOSE 9999
CMD java -jar /root/app.jar
EOF

# 执行镜像构建
docker build -t erp-server:v1.0 -f Dockerfile_erp .

11. 编写docker-compose配置文件

说明:统一管理MySQL、Redis、ERP后端、Nginx四个容器的启动配置

cat <<EOF > /opt/ERP/docker-compose.yaml
version: '3'
services:
  mysql:
    container_name: erp-mysql
    image: erp-mysql:v1.0
    restart: always
    ports:
    - 3306:3306
    environment:
    - "MYSQL_DATABASE=jsh_erp"
  redis:
    container_name: erp-redis
    image: erp-redis:v1.0
    restart: always
    ports:
    - 6379:6379
    command: redis-server --port 6379 --requirepass tshoperp --appendonly yes
  erp:
    container_name: erp-server
    image: erp-server:v1.0
    restart: always
    ports:
    - 9999:9999
  nginx:
    container_name: erp-web-ui
    image: erp-nginx:v1.0
    restart: always
    ports:
    - 8888:80
EOF

12. 安装docker-compose工具

说明:配置阿里云yum源后安装docker-compose

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 
yum clean all
yum makecache
yum install docker-compose -y

13. 启动ERP所有服务

说明:以守护进程方式启动docker-compose管理的容器

cd /opt/ERP/
docker-compose up -d

14.浏览器访问及登录

http://宿主机IP:8888/
http://192.168.108.159:8888/
用户:admin
密码:123456
- THE END -

iqor

1月15日16:53

最后修改:2026年1月15日
0

共有 0 条评论