来凤县住房和城乡建设厅网站,图片编辑器在线制作,快速排名方案,扫码点餐小程序怎么做之前把web实现了docker#xff0c;开发或测试环境可能需要开发自己搭数据库#xff0c;为了方便使用#xff0c;把数据库也做一个docker。
由于原生的CentOS我还有改yum仓库#xff0c;所以这次从之前lis搞的改好yum的镜像开始#xff08;从改好yum的lisnew的镜像创建lis…之前把web实现了docker开发或测试环境可能需要开发自己搭数据库为了方便使用把数据库也做一个docker。
由于原生的CentOS我还有改yum仓库所以这次从之前lis搞的改好yum的镜像开始从改好yum的lisnew的镜像创建lisdb容器IRIS安装包依赖了一个gzip包懒得找离线包了
docker run -idt -p 1972:1972-p 52773:52773--namelisdb -v /dthealth/db/dthis:/dthealth/db/dthis lisnew然后启动容器并进入容器上传IRIS安装包安装数据库
[rootlocalhost /]# docker start lisdb
lisdb
[rootlocalhost /]# docker exec -it lisdb /bin/bash
[roota3f4f856634b /]# ls
bin boot centos8 dev dthealth etc home intersystem lib lib64 lostfound media mnt opt proc root run sbin srv start.sh sys testdraw tmp usr var
[roota3f4f856634b /]# 解压安装包-授权执行权限然后按照提示安装数据库
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 --namelisdb -v /dthealth/db/dthis:/dthealth/db/dthis -v /dthealth/db/dthis/iris.cpf:/intersystem/iris.cpf lisdb:9.3
docker start lisdb进入容器查看和测试
[rootlocalhost /]# docker exec -it lisdb /bin/bash
[roota3f4f856634b /]# ls
bin boot centos8 dev dthealth etc home intersystem lib lib64 lostfound media mnt opt proc root run sbin srv start.sh sys testdraw tmp usr var
[roota3f4f856634b /]#
[roota3f4f856634b /]#
[roota3f4f856634b /]#
[roota3f4f856634b /]#
[roota3f4f856634b /]#
[roota3f4f856634b /]# iris listConfiguration IRISHEALTH (default)directory: /intersystemversionid: 2021.1.2.338.0.21956datadir: /intersystemconf file: iris.cpf (SuperServer port 1972, WebServer 52773)status: running, since Tue Jul 25 08:40:22 2023state: okproduct: InterSystems IRISHealth
[roota3f4f856634b /]# 面向开发的一键部署web和db脚本命令
#!/bin/bash
#shell检验基础维护脚本-用容器构造lis程序。开发使用会同时构造数据库和web
#20220721
#zlz
#----------------------------------------------------------
#第一次执行:bash /dthealth/app/dthis/imedicallis/docker/lisdevinit.sh
#非第一次执行:lis或lisdocker
if [ ! -f /usr/bin/lisdocker ];thenecho 安装imedicallis命令,后面通过imedicallis驱动cp /dthealth/app/dthis/imedicallis/docker/lisdocker /usr/bin/chmod 777 /usr/bin/lisdockerln -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 --namelisdocker -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 --namelisdb -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