中文 / English
❗❗❗"目前镜像支持 centos7/8/9"
检查docker版本(返回版本信息,说明docker已安装)
docker --version
docker-compose --version
注意:请确保docker已安装,才能进行后续步骤
先下载 docker-compose.yml,该配置文件是docker compose的核心,用于定义服务、网络和数据卷。
注意:如果需要用到 neatlogic-runner ,还需要修改docker-compose.yml文件中NEATLOGIC_RUNNER_HOST环境变量,设置为runner容器所在的宿主机ip
如果不做修改,直接执行启动命令
docker-compose -f docker-compose.yml up -d #-f 表示执行指定yml, -d 表示后台执行并返回
默认会安装一下容器服务:
容器服务名 | 默认宿主机端口 | 启动容器服务依赖 | 访问地址 | 容器内服务启停命令 | 描述 |
---|---|---|---|---|---|
neatlogic-db | 3306 | - | - | service neatlogicdb start/stop/restart | mysql数据库, 账号/密码 root/neatlogic@901, client连接通过命令: /app/databases/neatlogicdb/mysql/bin/mysql -uroot -p'neatlogic@901' --socket=/app/databases/neatlogicdb/data/mysql.sock |
neatlogic-collectdb | 27017 | - | - | service collectdb start/stop/restart | mongodb,账号/密码 autoexec/u1OPgeInMhxsNkNl 如果使用cmdb自动采集、自动化、巡检、发布则需要该服务 |
neatlogic-runner | 8084、8888 | - | - | deployadmin -s neatlogic-runner -a startall/stopall/restartall | 执行器,如果使用发布、巡检、自动化、tagent则需要该服务.注意:为了镜像简洁精干,自动化工具某些场景里作业日志提示的额外依赖问题,需要自己在容器里额外解决。 |
neatlogic-app | 8282 | neatlogic-db neatlogic-collectdb neatlogic-runner neatlogic-nacos |
- | deployadmin -s neatlogic -a startall/stopall/restartall | 后端服务 |
neatlogic-web | 8090 | neatlogic-app | 宿主机IP:8090 | service nginx start/stop/restart | 前端服务, 账号/密码 admin/neatlogic@901 |
neatlogic-nacos | 8848 | neatlogic-db | 宿主机IP:8848/nacos | deployadmin -s nacos -a startall/stopall | 后端服务 config ,账号/密码 nacos/nacos |
❗❗❗"浏览器请用chrome 90+,其他浏览器或版本可能存在兼容问题"
因为docker容器服务启动是异步的,所以以上提到的启动命令执行完也不代表服务都正常启动完了.
仍需要等待几分钟时间后访问前端服务:http://宿主机ip:8090/ 如果出现登录页面,恭喜你服务部署成功.登录账号:admin 密码:neatlogic@901
如果提示租户不存在,则需要查看下日志,可能是服务还在等待启动中
docker-compose -f docker-compose.yml logs -f neatlogic-web
如果日志出现neatlogic-web service start.那就需要进入neatlogic-app容器,查看错误日志/app/logs/neatlogic/error.log 和启动日志app/logs/neatlogic/neatlogic.out 如果日志中出现error,则将最后的截图(最好是整个日志文件)联系我们:
- 企业微信
1、数据持久化 默认是没有配置持久化的,持久化配置稍后更新...
2、宿主机端口冲突
修改 ports 字段即可,例如neatlogic-web的8090端口冲突,则需要将左侧的宿主机端口改成非占用端口即可,如我要改成8081:
ports:
- "8090:8081"
3、不使用自带的容器服务
如无需某容器服务则只需要删除对应容器服务配置,且修改对应被依赖的容器服务的environment属性
如无需neatlogic-db,因neatlogic-db被neatlogic-app和neatlogic-nacos依赖,所以neatlogic-app和neatlogic-nacos都需要修改environment的MYSQL_SERVICE_HOST、MYSQL_SERVICE_PORT、MYSQL_SERVICE_USER、MYSQL_SERVICE_PASSWORD,如:
自定义使用外部mysqldb 192.168.1.33:3306,帐号/密码:app/123456
environment:
#连接的mysql配置
MYSQL_SERVICE_HOST: "192.168.1.33"
MYSQL_SERVICE_PORT: 3306
...
MYSQL_SERVICE_USER: app
MYSQL_SERVICE_PASSWORD: "123456"
根据yml创建容器并启动所有容器服务
docker-compose -f docker-compose.yml up -d #-f 表示执行指定yml, -d 表示后台执行并返回
如果只需要处理某个容器服务,只需要在命令后补充容器服务名即可,如:
docker-compose -f docker-compose.yml up -d neatlogic-app #单独重新创建并启动neatlogic-app服务
查看所有容器服务的日志
docker-compose -f docker-compose.yml logs
如果只需要查看某个容器服务的日志,只需要在命令后补充容器服务名即可,如:
docker-compose -f docker-compose.yml logs neatlogic-app
docker-compose -f docker-compose.yml logs -f
docker-compose -f docker-compose.yml ps
docker-compose -f docker-compose.yml start
docker-compose -f docker-compose.yml stop
如果只需要启某个容器,只需要在命令后补充容器服务名即可,如:
docker-compose -f docker-compose.yml start neatlogic-app
非必要用户无需进入容器服务,如进去neatlogic-app容器服务:
docker-compose -f docker-compose.yml exec neatlogic-app sh
docker-compose -f docker-compose.yml down
docker-compose -f docker-compose.yml pull
yum install sudo
yum install perl perl-devel
cd /app/autoexec/plugins/local/media
./setup.sh
由于考虑到环境的干净,镜像只保留了核心数据.如果仍需要更多的样例数据作为参考,可执行一下步骤
- 请先创建了3个空库neatlogic、neatlogic_demo和neatlogic_demo_data,字符集采用utf8mb4,排序规则采用utf8mb4_general_ci,由于neatlogic需要动态创建、删除表和视图,请授予数据库连接用户适当的权限,如下图。
- 导入样例数据:neatlogic-database/mysql 将三个sql文件按名字分别导入到三个库。
- 修改neatlogic库的datasource表,找到tenant_uuid=demo的那行数据,核对username、password、host和port是否正确配置
- 这里我们假设需要把demo换成uat租户。新建数据库neatlogic_uat和neatlogic_uat_data数据库,字符集同样是采用utf8mb4,排序规则采用utf8mb4_general_ci
- 将neatlogic_demo表和数据同步到neatlogic_uat,neatlogic_demo_data只需要把表数据同步到neatlogic_uat_data,视图无需同步,启动服务是会自动重建
- 进入neatlogic库将tenant表、datasource表、mongodb表和tenant_modulegroup表中的“demo”字眼的数据都替换成“uat”
- 重启neatlogic-app服务即可
yum install sudo
vi /etc/sudoers
//在最后增加一行授权
app ALL=(root) NOPASSWD:ALL
- 先检查浏览器,要求chrome 90+版本
- 如果看neatlogic-web启动日志提示"neatlogic-web service start." 浏览器还是空白页 就进到neatlogic-web容器检查 nginx 服务是否正常
- 到docker的宿主机器lsof -i:8090 看下端口是否正常 telnet localhost 8090
- 到本地电脑 telnet docker的宿主机器ip 8090 是否通