工单系统ferry 01--docker部署ferry

2024-05-30 23:38

本文主要是介绍工单系统ferry 01--docker部署ferry,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

工单系统ferry 01--docker部署ferry

  • 介绍
  • 部署
  • 说明

介绍

开源软件ferry是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。
致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。
本文主要介绍如何在linux 系统上通过docker 的方式部署 ferry,以便于体验ferry 系统。

部署

部署mysql

安装 mysql:
$ docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111 mysql:5
进入mysql实例
$ docker exec -it mysql5 bash
创建数据库 ferry
root@1d0043eefed4:/# mysql -uroot -h127.0.0.1 -p111111
mysql> create database ferry;
Query OK, 1 row affected (0.00 sec)

部署redis

安装 redis:
docker run --name=redis6.0  -d -p 6379:6379 redis:6.0

启动ferry

通过 ip r 或者 ifconfig 获取本机ip地址, 192.168.1.7
clone 代码
$ git clone https://github.com/lanyulei/ferry.git
$ cd ferry$ vim config/setings.yml
做如下修改:
mysql 配置(更改host 和密码为你自己的):
host: ferry_mysql -> host: 192.168.1.7
password: 123456 -> password: 111111redis 配置(更改host为你自己的):
url: redis://ferry_redis:6379 -> url: redis://192.168.1.7:6379在config 目录新建 needinit 文件, 第一次启动的时候db中没有数据,此时可以通过这命令初始化数据,服务正常启动后再删该文件(以防下次容器启动时候再次初始化)
$ touch config/needinit启动容器:
docker run -itd --name ferry -v /home/your_user_path/github/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1
docker run -itd --name ferry -v /home/xg/soft/ferry/config:/opt/workflow/ferry/config -p 8002:8002 lanyulei/ferry:1.0.1输出如下:
start init
{"level":"info","ts":"2022-03-24 09:43:48.315052","caller":"database/mysql.go:37","msg":"mysql connect success!"}
{"level":"info","ts":"2022-03-24 09:44:03.338257","caller":"migrate/server.go:41","msg":"数据库结构初始化成功!"}
-- 开始初始化数据 -- 数据完成 
数据库基础数据初始化成功
2022/03/24 09:44:26 starting api server
{"level":"info","ts":"2022-03-24 09:44:26.348398","caller":"database/mysql.go:37","msg":"mysql connect success!"}
INFO: 2022/03/24 09:44:26 worker.go:57 Launching a worker with the following settings:
INFO: 2022/03/24 09:44:26 worker.go:58 - Broker: redis://10.194.16.181:6379
INFO: 2022/03/24 09:44:26 worker.go:60 - DefaultQueue: ServerTasksQueue
INFO: 2022/03/24 09:44:26 worker.go:64 - ResultBackend: ://
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.- using env:   export GIN_MODE=release- using code:  gin.SetMode(gin.ReleaseMode)[GIN-debug] GET    /info                     --> ferry/handler.Ping (7 handlers)
[GIN-debug] GET    /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (7 handlers)
[GIN-debug] HEAD   /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (7 handlers)
INFO: 2022/03/24 09:44:26 redis.go:96 [*] Waiting for messages. To exit press CTRL+C
[GIN-debug] Loaded HTML Templates (2): - - index.html[GIN-debug] GET    /swagger/*any             --> github.com/swaggo/gin-swagger.CustomWrapHandler.func1 (7 handlers)
[GIN-debug] GET    /api/v1/monitor/server    --> ferry/apis/monitor.ServerInfo (7 handlers)
.......
[GIN-debug] PUT    /api/v1/work-order/active-order/:id --> ferry/apis/process.ActiveOrder (9 handlers)
[GIN-debug] DELETE /api/v1/work-order/delete/:id --> ferry/apis/process.DeleteWorkOrder (9 handlers)
[GIN-debug] POST   /api/v1/work-order/reopen/:id --> ferry/apis/process.ReopenWorkOrder (9 handlers)
2022/03/24 09:44:26 Server Run http://0.0.0.0:8002/ 
2022/03/24 09:44:26 Swagger URL http://0.0.0.0:8002/swagger/index.html 
2022/03/24 09:44:26 Enter Control + C Shutdown Server db 初始化后会自动新建如下 table
'casbin_rule'
'p_process_classify'
'p_process_info'
'p_task_history'
'p_task_info'
'p_tpl_info'
'p_work_order_circulation_history'
'p_work_order_info'
'p_work_order_tpl_data'
'sys_dept'
'sys_loginlog'
'sys_menu'
'sys_post'
'sys_role'
'sys_role_dept'
'sys_role_menu'
'sys_settings'
'sys_user'

测试
Url http://127.0.0.1:8002/
帐号密码 admin/123456

启动后 ferry mysql redis 都需要正常运行,如下所示:
xg@xg:~/soft/ferry$ docker ps -a
CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
8611f6e09505   lanyulei/ferry:1.0.1   "/opt/workflow/ferry…"   12 minutes ago   Up 12 minutes   0.0.0.0:8002->8002/tcp, :::8002->8002/tcp              ferry
f320fd3bec25   redis:6.0              "docker-entrypoint.s…"   17 minutes ago   Up 17 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp              redis6.0
480ebae668d9   mysql:5                "docker-entrypoint.s…"   18 minutes ago   Up 18 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql5

登陆界面:
在这里插入图片描述
工单主页:
在这里插入图片描述

说明

软件环境:
20.04.1 LTS Desktop
Docker 20.10.7

参考文档:
ferry官方文档
ferry文档教程–手动部署
ferry文档教程–Docker部署

这篇关于工单系统ferry 01--docker部署ferry的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017086

相关文章

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基