IRIS搭建docker

news2024/10/9 2:22:50

之前把web实现了docker,开发或测试环境可能需要开发自己搭数据库,为了方便使用,把数据库也做一个docker。

由于原生的CentOS我还有改yum仓库,所以这次从之前lis搞的改好yum的镜像开始(从改好yum的lisnew的镜像创建lisdb容器,IRIS安装包依赖了一个gzip包,懒得找离线包了)

docker run -idt -p 1972:1972-p 52773:52773--name=lisdb -v /dthealth/db/dthis:/dthealth/db/dthis  lisnew

然后启动容器并进入容器,上传IRIS安装包安装数据库

[root@localhost /]# docker start lisdb
lisdb
[root@localhost /]# docker exec -it lisdb /bin/bash
[root@a3f4f856634b /]# ls
bin  boot  centos8  dev  dthealth  etc	home  intersystem  lib	lib64  lost+found  media  mnt  opt  proc  root	run  sbin  srv	start.sh  sys  testdraw  tmp  usr  var
[root@a3f4f856634b /]# 

解压安装包-授权执行权限然后按照提示安装数据库

cd /dthealth/db/dthis/
tar -xvf IRISHealth-2021.1.2.338.0.21956-lnxrhx64.tar.gz
cd IRISHealth-2021.1.2.338.0.21956-lnxrhx64
chmod +x irisinstall
./irisinstall

安装完之后把数据库iris.cpf移动到/dthealth/db/dthis/下,后面方便用目录映射到外面调整cpf

在容器的/下新建一个start.sh文件来启动数据库,不通过这个脚本转一下来启动数据库,启动由于没阻塞容器里面又关闭了,所以启动数据库后tail让sh阻塞

#!/bin/bash
 
# 启动数据库
iris start IRISHEALTH
 
# 此处是为了运行完上条应用服务后,有对应的前台进程
tail -f /dev/null

把修改生成新的镜像lisdb

docker commit -a "zhanglianzhu" -m "lisdb9.0" lisdb lisdb:9.2

制作Dockerfile文件

#构造数据库的docker镜像
#基础镜像
FROM lisdb:9.2 AS base

#MAINTAINER 维护者信息
MAINTAINER zhanglianzhu

#工作路径
WORKDIR /

#对外端口
EXPOSE 1972
EXPOSE 52773

#映射路径
VOLUME ["/dthealth/db/dthis"]

VOLUME ["/intersystem/iris.cpf"]

#启动容器执行的命令
ENTRYPOINT ["/bin/bash", "/start.sh"]

制作镜像(把Dockerfile上传到/zlzdocker)

cd /zlzdocker
docker build -t lisdb:9.0 .

压缩导出镜像即可

docker save lisdb:9.0 | gzip > lisdb.tar.gz

镜像测试,同时映射db的文件目录和cpf文件目录,db文件和cpf文件配置对上即可

gunzip -c /zlzdocker/lisdb.tar.gz | docker load
docker run -idt -p 1972:1972 -p 52773:52773 --name=lisdb -v /dthealth/db/dthis:/dthealth/db/dthis -v /dthealth/db/dthis/iris.cpf:/intersystem/iris.cpf  lisdb:9.3
docker start lisdb

进入容器查看和测试

[root@localhost /]# docker exec -it lisdb /bin/bash
[root@a3f4f856634b /]# ls
bin  boot  centos8  dev  dthealth  etc	home  intersystem  lib	lib64  lost+found  media  mnt  opt  proc  root	run  sbin  srv	start.sh  sys  testdraw  tmp  usr  var
[root@a3f4f856634b /]# 
[root@a3f4f856634b /]# 
[root@a3f4f856634b /]# 
[root@a3f4f856634b /]# 
[root@a3f4f856634b /]# 
[root@a3f4f856634b /]# iris list

Configuration 'IRISHEALTH'   (default)
	directory:    /intersystem
	versionid:    2021.1.2.338.0.21956
	datadir:      /intersystem
	conf file:    iris.cpf  (SuperServer port = 1972, WebServer = 52773)
	status:       running, since Tue Jul 25 08:40:22 2023
	state:        ok
	product:      InterSystems IRISHealth
[root@a3f4f856634b /]# 

在这里插入图片描述

面向开发的一键部署web和db脚本命令

#!/bin/bash
#shell检验基础维护脚本-用容器构造lis程序。开发使用,会同时构造数据库和web
#20220721
#zlz
#----------------------------------------------------------
#第一次执行:bash /dthealth/app/dthis/imedicallis/docker/lisdevinit.sh
#非第一次执行:lis或lisdocker
if [ ! -f /usr/bin/lisdocker ];then
	echo "安装imedicallis命令,后面通过imedicallis驱动"
	cp /dthealth/app/dthis/imedicallis/docker/lisdocker /usr/bin/
	chmod 777 /usr/bin/lisdocker
	ln -s /usr/bin/lisdocker /usr/bin/lis
fi
echo "+要求先安装好docker软件"
echo "+该脚本将为你用检验docker镜像构造检验容器"
echo "+解压和载入镜像文件"
gunzip -c /dthealth/app/dthis/imedicallis/docker/lisdocker.tar.gz | docker load
echo "+查看镜像"
docker images
echo "+构造名称为lisdocker的检验容器"
docker run -idt -p 5002:5002 -p 8081:8081 --name=lisdocker -v /dthealth/app/dthis/imedicallis:/dthealth/app/dthis/imedicallis  lisdocker:latest
echo "+启动检验容器"
docker start lisdocker
echo "+用容器部署检验完成"
echo "+进入容器请运行lis或者lisdocker命令"


echo "+解压和载入镜像文件"
gunzip -c /dthealth/app/dthis/imedicallis/docker/lisdb.tar.gz | docker load
echo "+查看镜像"
docker images
echo "+构造名称为lisdb的检验容器"
docker run -idt -p 1972:1972 -p 52773:52773 --name=lisdb -v /dthealth/db/dthis:/dthealth/db/dthis -v /dthealth/db/dthis/iris.cpf:/intersystem/iris.cpf  lisdb:9.3
echo "+启动db容器"
docker start lisdb
echo "+用容器部署检验数据库完成"
echo "+"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/790975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SaaS到底是什么,如何做?这份笔记讲明白了

阅读本篇文章,您将可以了解:1、什么是SaaS;2、SaaS的商业模式;3、SaaS的技术架构;4、国内比较好的SaaS平台。 一、什么是SaaS SaaS即软件即服务(Software as a Service),是一种通过…

【数据结构】AVL树/红黑树

目录 1.AVL树(高度平衡二叉搜索树) 10.1.基本概念 10.2.实现 10.2.1.AVL树节点的定义 10.2.2.AVL树的插入 10.2.3.AVL树的旋转 1.新节点插入较高左子树的左侧---左左:右单旋 2.新节点插入较高右子树的右侧---右右:左单旋 3.新节点…

Python Flask构建微信小程序订餐系统 (十二)

🔥 创建切换商品分类状态的JS文件 🔥 ; var food_act_ops={init:function(){this.eventBind();},eventBind:function(){//表示作用域var that = this;$(".wrap_search select[name=status]").change(function(){$(".wrap_search").submit();});$(&qu…

对ai绘画二次元生成器你有多少了解?

在一个小镇上,有一位年轻的艺术家名叫艾米莉。她是个富有创意的女孩,总是追求着新奇和美妙的艺术体验。然而,她最近遇到了一些创作上的障碍,感觉自己的绘画已经陷入了瓶颈。在艾米莉寻找灵感的过程中,她听说了神秘的ai…

SQL语句(三十二)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、SQL语句类型 二、数据库操作 ​三、数据表操作 1. 数据类型 2. 查看 3. 创建 4. 删除 5. 更改 5.1 表 5.2 列 四、数据操作 4.1 增 4.2 删 4.3 改 4.4 查…

13.5.4 【Linux】常用模块简介

登陆所需要的PAM流程: 上面这个表格当中使用到非常多的 PAM 模块,每个模块的功能都不太相同,详细的模块情报可以在你的系统中找到: /etc/pam.d/*:每个程序个别的 PAM 配置文件; /lib64/security/*&#x…

网络:HCIA 1

1. 通信系统的组成: 终端设备:电脑 中间设备:交换机、路由器、防火墙。 传输介质:网线(双绞线)传输距离一般为100米,传输的是电信号。 光纤传输的是光信号。 光纤接口类型,方形接口…

前端(九)——探索微信小程序、Vue、React和Uniapp生命周期

🙂博主:小猫娃来啦 🙂文章核心:探索微信小程序、Vue、React和Uniapp生命周期 文章目录 微信小程序、Vue、React和Uniapp的基本定义和应用领域微信小程序生命周期生命周期概述页面生命周期应用生命周期组件和API的生命周期钩子 Vu…

看完这篇,别再说不会Spring 分库分表了

多数据源,读写分离,分库分表,基本上已经是现在任何一个项目的基本配置了,在之前的文章Spring多数据源实现https://blog.csdn.net/wangerrong/article/details/131910740 里讲了多数据源的实现,其实已经包含了读写分离…

广东省《5A物理抗菌纺织品》团体标准颁布

近日,经广东省标准化协会批准发布由广东人仁康科技有限公司主导制定的《5A物理抗菌纺织品》(T/GDBX 073—2023)团体标准,于2023年7月21日发布并实施。 根据标准制修订工作流程,该项标准2022年由人仁康和广检集团组织起…

【【51单片机AD/DA的分析】】

51单片机AD/DA的分析 看似单片机实验,其实是要学好数电 模数转换 与 数模转换 运算放大器 DA的转换就是利用运算放大器实现的 输出电压v0-(D7~D0)/256 x (VrefxRfb)/R D7~D0 就是我们控制的按键看输入多少 然后再划分256份 Vref是我们设置的一个基准电压 PWM 这种…

若依分离版——解决配置双数据源oracle,mysql分页错误问题

1. 按照若依的手册配置双数据源mysql,oracle 2. 在service指定 数据源 DataSource(value DataSourceType.MASTER) 或者DataSource(value DataSourceType.SLAVE) Service public class SysPostServiceImpl implements ISysPostService {/*** 查询岗位信息集合* …

分享10个NodeJS相关的专业级工具

Node.js已成为开发人员创建强大且可扩展的Web应用程序的首选选项。根据2022年StackOverflow开发者调查,Node.js被评为专业开发人员中使用最广泛的Web框架。这个成功可以归功于其庞大的生态系统,其中提供了许多工具和框架。了解并接纳这个生态系统对于优化…

前端面试题-JS进阶

1 内置类型 JS 中分为七种内置类型,七种内置类型⼜分为两⼤类型:基本类型和对象( Object )。基本类型有六种: null , undefined , boolea n, number , string &#xff…

【数据动态填充到element表格;将带有标签的数据展示为文本格式】

一&#xff1a;数据动态填充到element表格&#xff1b; 二&#xff1a;将带有标签的数据展示为文本格式&#xff1b; 1、 <el-row><el-col :span"24"><el-tabs type"border-card"><el-tab-pane label"返回值"><el-…

计算机流水线在正常程序中的体现(效果可视)

众所周知,流水线技术对于软件开发人员不是可见的(visiable),毕竟已经在在机器语言之下,是组成机器语言的基本逻辑 但今天我就带领大家看看我新发现的结果,那就是流水线的可视效果,包括流水线预测技术的侧面体现,当然也是可见的 首先我先声明一下需要的基础,需要懂16位以及32位操…

leetcode 面试题01.04 回文排列

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;回文排列 思路&#xff1a;回文串两种可能。只有一个字符出现1次其他字符都是偶数次。要么都是偶数次。统计字母的个数即可。 代码&#xff1a; bool canPermutePalindrome(char* s){// 回文串两种可能// 1. 只有一个字…

几百本常用计算机开发语言电子书链接

GitHub - XiangLinPro/IT_book: 本项目收藏这些年来看过或者听过的一些不错的常用的上千本书籍&#xff0c;没准你想找的书就在这里呢&#xff0c;包含了互联网行业大多数书籍和面试经验题目等等。有人工智能系列&#xff08;常用深度学习框架TensorFlow、pytorch、keras。NLP、…

JavaWeb银行项目

主要功能 实现了贷款、存款、理财、提现、充值、开户、绑卡、转账等功能。 介绍 1、这个是一个类似有支付宝一样的web项目。 2、登录和注册&#xff0c;都是通过手机号来进行的。 3、注册的新用户需要先进行开户操作&#xff0c;然后进行绑卡操作。 4、在开户的时候回给你…

计算机专业还会继续火热吗

目录 引言 1.计算机专业火热的原因 2.学好计算机需要的技能 3.计算机未来会持续火热吗 4.博主的建议 引言 今年&#xff0c;张雪峰老师在高考志愿填报领域再次火了一把。他主张专业的实用性&#xff0c;建议家长填报那些未来不愁就业的专业&#xff0c;不好就业的专业不要去…