Appearance
ERP 容器化部署指南
本文档提供了使用 Docker 容器化部署 ERP 系统的详细步骤。主要包括两个核心部分:镜像打包和容器创建。
概述
ERP 是一个开源的企业资源规划(ERP)系统,通过容器化部署可以简化安装和维护过程。本部署方案使用自定义 Docker 镜像,确保系统配置的一致性和可重复性。
部署流程分为两个主要阶段:
- 构建自定义 Docker 镜像
- 创建和管理 Docker 容器
每个阶段都有相应的脚本工具支持,使部署过程更加自动化和可靠。
1 镜像打包
- 执行程序:
build-custom-image.sh - 参数配置:
image_tag="hzcork-ERP:v15"(主要生成镜像的名称)
执行命令:
shell
./build-custom-image.sh在本地 Docker 服务器中创建镜像。
2 容器创建
- 执行程序:
manage-ERP.sh - 参数配置:
| 参数名 | 示例值 | 说明 |
|---|---|---|
COMPOSE_FILE | pwd_hzcork.yml | 使用的 yml 配置文件 |
PROJECT_NAME | hzcork-v15 | 容器名称 |
CUSTOM_ERP_IMAGE | hzcork-ERP:v15 | 使用的镜像名称 |
执行命令:
shell
./manage-ERP.sh start⚠️ 需要查看 docker 日志确认安装完成,必须等 ERP 安装完成。
然后执行:
shell
./manage-ERP.sh install主要安装应用。
2.1 容器启动
- 执行程序:
manage-ERP.sh - 命令:
start - 功能:启动所有容器
执行命令:
shell
./manage-ERP.sh start启动后可通过 http://localhost:8080 访问系统。
如需指定代理 IP(便于访问 GitHub):
shell
./manage-ERP.sh start --proxy-ip=10.0.0.2152.2 容器停止
- 命令:
stop - 功能:停止所有容器
执行命令:
shell
./manage-ERP.sh stop2.3 容器重启
- 命令:
restart - 功能:重启所有容器
执行命令:
shell
./manage-ERP.sh restart2.4 容器状态查看
- 命令:
status - 功能:查看所有容器的运行状态
执行命令:
shell
./manage-ERP.sh status2.5 容器日志查看
- 命令:
logs - 功能:查看所有容器的运行日志
执行命令:
shell
./manage-ERP.sh logs2.6 容器清理
- 命令:
clean - 功能:停止并删除所有容器和数据卷
执行命令:
shell
./manage-ERP.sh clean⚠️ 此操作会删除所有数据,请谨慎使用!
2.7 帮助信息
- 命令:
help - 功能:显示所有可用命令的帮助信息
执行命令:
shell
./manage-ERP.sh help3 远程镜像维护
3.1 镜像上传
本地镜像下载:
bash
docker pull hello-world本地镜像上传到服务器:
bash
docker save hello-world:latest | ssh root@10.0.0.171 'docker load'上传本地 ERP 镜像:
bash
docker save hzcork-ERP:v15.1 | ssh root@10.0.0.171 'docker load'docker save hzcork-ERP:v15.1:将镜像序列化到标准输出。|(管道符):将docker save的输出传递给下一个命令。ssh root@10.0.0.171 'docker load':通过 SSH 连接服务器,并在服务器上执行docker load,从标准输入加载镜像。
镜像较大时建议压缩传输:
bash
docker save hzcork-ERP:v15.1 | gzip | ssh root@10.0.0.171 'gunzip | docker load'3.2 镜像删除
基本命令格式:
bash
ssh <用户名>@<服务器IP或主机名> "docker rmi <镜像名称:标签 或 镜像ID>"如需 sudo 权限:
bash
ssh <用户名>@<服务器IP或主机名> "sudo docker rmi <镜像名称:标签 或 镜像ID>"获取要删除镜像的信息(推荐):
- 先 SSH 登录服务器:bash
ssh <用户名>@<服务器IP或主机名> - 查看镜像列表:bash示例输出:
docker images # 或 sudo docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE my-app latest abcdef123456 2 hours ago 200MB nginx alpine fedfc6103113 3 weeks ago 23.5MB ubuntu 20.04 1d622ef86b13 5 weeks ago 72.9MB - 记下你要删除的镜像的 REPOSITORY 和 TAG(如
python:3.9.22-alpine3.22)或 IMAGE ID(如abcdef123456)。 - 退出 SSH 会话。
执行远程删除命令(本地执行):
- 按名称和标签删除:bash
ssh root@10.0.0.171 "docker rmi python:3.9.22-alpine3.22"