用户工具

站点工具


liux:ic卡同步容器化

说明

现有客户的服务器定制都是在web代码基础上修改,当客户服务器发生操作系统重装、损坏或软件升级等情况时,相关定制功能丢失,需要研发介入完成备份、修改或重做,时间和人力成本高昂。 为提升运维效率,后期所有服务端能够独立开发的定制功能,如IC卡同步、教务数据同步等功能将通过容器技术实现,研发部分完成定制功能开发后,技术部门只需要按照下述标准流程实施即可。

已有定制说明

已经完成定制的学校暂时不做处理,等有需要时由研发部完成代码容器化并添加到本页附录中。

镜像服务器

当前所有镜像都存储在腾讯云镜像服务器中,相关情况请联系liux@idste.cn。 附录为已有定制镜像列表。

镜像命名规范

镜像名称优先使用学校域名,如长春工业大学使用ccut.edu.cn,没有域名时使用“省份.城市.学校名”的拼音首字母,如成都师大附小使用sc.cd.sdfx

容器命名规范

运行的容器名称使用“idste.service.[镜像名称]“命名,以同时表征服务提供商及使用单位,如长春工业大学的容器为idste.service.ccut.edu.cn。 除附录中的容器外,其它同步需要使用标准化同步方案。

流程一: 安装docker

流程二:数据库确认

IC卡和教务数据同步需要使用到第三方数据库和iDste数据库,前端为数据提供者,后者为数据接收者,在实施时需要注意以下几方面:

  • 容器中已经预制了第三方数据库信息,主要为数据库IP、端口、用户名、密码、库名,在某些情况下可能会有变更。因此,容器被设计为会优先采纳nccs.BaseInfo表中的第三方数据库配置信息。
  1. IC卡数据库IP:InfomationID; 0x12e、Description: IP地址;
  2. IC卡数据库库名/SID/服务名:InfomationID:0x12f、Description: 库名或服务名;
  3. IC卡数据库账号:InfomationID; 0x130、Description: 账号;
  4. IC卡数据库密码:InfomationID; 0x131、Description: 密码;
  5. IC卡数据库类型:InfomationID; 0x132、Description: 可选”mysql”/“oracle/service”/“mssql”;
  6. IC卡数据库端口:InfomationID; 0x133、Description: 端口值;
  • 测试第三方数据库是否可达,主要关注端口是否可达,数据库连接信息是否正确。
  1. 端口是否可达可通过`nc -v host port`命令测试,如果不可达需要联系网络管理员解决
  2. 检查数据库是否可登录,如果学校没有防火墙,可使用dbeaver工具测试
  3. 上述测试可运行容器后查看容器是志时检查到,如果有问题会有提示信息
  • 容器使用127.0.0.1与iDste数据库通信,默认用户名为iDsteWeb。实施时需要使用root登录mysql数据库并运行如下命令:
  1. grant select,delete,update,insert on nccs.* to 'iDsteSync'@'127.0.0.1' identified by 'iDste1057Sync';
  2. flush privileges;

流程三: 登录并获取镜像 (服务器R07.02及以上版本:使用release版本的容器。服务器R06.08及以下版本:使用v0.9版本的容器。)

  1. docker login –username 9026849 ccr.ccs.tencentyun.com # 密码为iDste1057Hello
  2. docker pull ccr.ccs.tencentyun.com/idste-cus/[容器名称]
  3. docker run -itd –name idste.service.[容器名称] –net=host –restart=always ccr.ccs.tencentyun.com/idste-cus/[容器名称] # 运行容器,restart=always表示容器退出后自动重启, –net=host使用主机网络
  4. docker logout ccr.ccs.tencentyun.com # 退出镜像服务器
  • *命令中使用的[容器名称]需要替换成真实的名称**

其它命令

  • 查看容器日志:docker logs idste.service.[容器名称]
  • 查看服务日志,服务日志放在容器内的/var/log/workerman目录,该目录下的所有文件都由容器生成
  1. docker exec -it idste.service.[容器名称]
  2. cat /var/log/workerman/xxx # 替换成真实的文件
  • 停止容器:docker stop idste.service.[容器名称]
  • 删除停止的容器:docker rm idste.service.[容器名称]

附录: 定制容器列表

  1. 长春工业大学IC卡同步容器:ccr.ccs.tencentyun.com/idste-cus/ccut.edu.cn
liux/ic卡同步容器化.txt · 最后更改: 2025/09/08 22:51 (外部编辑)