IRIS相比Caché在部署上的一个进步是支持docker。即便不是云部署, 使用docker也带来非常多的便利。 尤其是在开发测试环节,由于docker的使用更便捷,除非要模拟客户的环境或者做规定的性能测试,我在测试中基本已经不再使用本机的实例或者虚机。IRIS的联机文档有详细的IRIS docker安装使用指导,本文只是一个简单的,快速上手的在测试环境安装IRIS docker的简单步骤,尤其适合初学者。在测试环境安装IRIS docker的简单步骤,尤其适合初学者。

注意Windows上docker可能会遇到这样那样的问题,因此通常还是推荐在Linux或者Mac OS上使用。正式的生产环境的IRIS docker container也是不支持Windows系统的。

Referrence - First Look: InterSystems Products in Docker Containers - Running an InterSystems IRIS Container: Docker Run ExamplesRunning an InterSystems IRIS Container: Docker Run Examples - - Running an InterSystems IRIS Container: Docker Run ExamplesRunning an InterSystems IRIS Container: Docker Run Examples
-
-

1. 在操作系统上安装Docker环境

Docker官方文档的安装步骤非常清晰,我按照上面的步骤在MAC和CentOS上安装docker从来没有出现过问题。恰恰是这个文档中没有的Redhat上的安装,过程中曾碰到过几个问题,在网上搜索了答案,也不算困难。

简单的复述一下步骤:root用户的最简单安装,没有权限问题, 没有docker网络修改等等:

  1. 安装yum-util, 用于添加yum源,如果您的系统中已经有了yum-utils包这步可以省略

    sudo yum install -y yum-utils
  2. 添加docker的Repo到yum源并确认

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum repolist
  3. 安装3个docker组件

    sudo yum install docker-ce docker-ce-cli containerd.io
  4. 启动Docker

    sudo systemctl start docker
  5. 确认安装成功。'docker run'命令会去本地的库里找'hello-world',没有找到就去网上下一个"images",然后创建一个docker容器给你使用。

    sudo docker run hello-world

安装结束您想要到https://hub.docker.com/注册一个账户,用来下载上传docker image。 下载命令使用'docker pull', 比如

docker pull nginx

2. 下载IRIS Docker image

在线文档Container Images Available from InterSystems中介绍了https://containers.intersystems.com网站上可以下载的IRIS images的列表,其中community版本不需要license,其他的版本需要从InterSystems处获得IRIS docker版的专用license.https://containers.intersystems.com网站上可以下载的IRIS images的列表,其中community版本不需要license,其他的版本需要从InterSystems处获得IRIS docker版的专用license.

下面是登录并下载iris docker image的记录。从网页登录https://containers.intersystems.com,您会得到docker的登录密码"使用的密码"jaRWSBJjcUcNprCKTuMX10PYHNq2IYPrAQoYdp6Siokb"。

[root@centos7 ~]# docker login -u="hma" -p="jaRWSBJjcUcNprCKTuMX10PYHNq2IYPrAQoYdp6Siokb" containers.intersystems.com
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
[root@centos7 ~]# docker pull containers.intersystems.com/intersystems/iris-ml:2020.3.0.304.0
2020.3.0.304.0: Pulling from intersystems/iris-ml
5c939e3a4d10: Pull complete
c63719cdbe7a: Pull complete
19a861ea6baf: Pull complete
651c9d2d6c4f: Pull complete
d21839215a64: Pull complete
7995f836674b: Pull complete
841ee3aaa7aa: Pull complete
739c318c2223: Pull complete
d76886412dda: Pull complete
Digest: sha256:4c62690f4d0391d801d3ac157dc4abbf47ab3d8f6b46144288e0234e68f8f10e
Status: Downloaded newer image for containers.intersystems.com/intersystems/iris-ml:2020.3.0.304.0
containers.intersystems.com/intersystems/iris-ml:2020.3.0.304.0
[root@centos7 ~]#

另外,您也可以从InterSystems的技术支持网站下载iris docker的压缩包"iris*.tar.gz",然后使用"docker load"安装, 比如:

CNMBPHMA:~ hma$ docker load -i iris-2020.4.0.524.0-docker.tar.gz

3. 创建并运行IRIS Container

简单的办法

如果是只是简单的测试,可以直接运行,但如果不是community版本的docker, 您还需要把license拷贝到container内部。 比如下面的步骤

CNMBPHMA:~ hma$ docker run -d -i -p 52773:52773 -p 51773:51773 --name iris20204 intersystems/irishealth:2020.2.0.211.0
CNMBPHMA:~ hma$ docker cp iris.key iris20204:/usr/irissys/mgr/iris.key

需要注意的是,不同版本的超级端口可能不同,有些是1972,有些是51773。为了省事,您也许可以使用"-P"把所有container内部的端口都映射出来。

除了要拷贝license到container内部,在做测试的时候,您可能还要经常的使用"docker cp"把各种测试文件拷入container。而且,当查看和修改container内部文件的使用,还需要使用下面的命令进入container内部:

CNMBPHMA:~ hma$ docker exec -it iris20204 /bin/sh

因此,如果是您需要一个经常使用的iris container环境,我还是建议您使用下面的方法。

IRIS Container使用外部存储

简单的说,下面的命令
- 使用"--volume"参数为container创建外部存储,将host上的"/root/data/dur"文件夹和container内部的"/dur"文件夹链接起来。(/root/data/dur文件夹要在host上手工创建,这只是一个示意,您可以使用任何可用的目录)
- ISC_DATA_DIRECTORY环境设置会在创建iris container时在/dur文件夹下创建一个子目录”/dur/irisepy",所有IRIS运行的日志,客户配置,mgr目录下的用户数据都会保存在这个目录。因为"/dur"是外部存储,即使docker container被删除数据也不会丢失。这对container的重新创建或者iris升级都带来很大的方便。在线文档上对如果覆盖或者升级带有外部存储的iris container有详细的介绍。
- “key"参数定义了在IRIS container创建时会把"/dur/license"目录下的iris.key拷贝到iris安装目录的mgr下并激活。也就是说,在运行命令前, 您需要在host上在"/root/data/dur"目录下创建"license"子目录并将iris.key拷贝进去。

docker run --name irisepy --init -d\-p 9091:1972 -p 9092:52773\-v /root/data/dur:/dur\ --env ISC_DATA_DIRECTORY=/dur/irisepy \containers.intersystems.com/intersystems/iris-ml:2020.3.0.304.0 \--key /dur/license/iris.key

希望您喜欢使用docker

IRIS Docker的安装相关推荐

  1. Docker的安装、镜像源更换与简单应用

    Docker的安装.镜像源更换与简单应用[阅读时间:约20分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.Docker的安装 四.Docker的简单应用 1. ...

  2. 客快物流大数据项目(八):Docker的安装和启动

    目录 Docker的安装和启动 一.服务器规划 二.安装Docker 1.验证Linux内核版本 <

  3. Docker初学2:Docker的安装

    Docker的安装 Docker的架构图 我们先来介绍一下上面这张Docker架构图 镜像(image): Docker 镜像(Image)就是一个只读的模板.镜像可以用来创建 Docker 容器,一 ...

  4. 『中级篇』docker容器安装wordpress(37)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker容器安装wordpress(37) 第一节的时候我就部署过wordpress,可能很多老铁一头雾水不知道 ...

  5. Docker的安装和使用及其Docker容器间通信,云计算技术与应用实验报告

    实验环境:Windows操作系统,阿里云资源,Docker 实验内容和要求:安装Docker并进行相关实验,熟悉Docker的相关操作.实验包括Docker的安装.镜像和容器的使用.容器的连接.容器间 ...

  6. docker 启动sqlserver_在Docker上安装MSSQL(SQL Server)

    在转移到Mac OS X 阵营之后,如果想在本机上安装微软的mssql-server数据库有三种方式: 第一种是在本机上安装MSSQL for Linux 版本. 第二种是安装Windows虚拟机,然 ...

  7. Ubuntu环境下docker的安装

    Docker 的安装 安装docker 的具体方法,我们可以从docker 的官网得到具体的方法. 链接如下: https://docs.docker.com/engine/install/ubunt ...

  8. Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离

    Docker的安装 一.Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...

  9. vmware虚拟机redhat7.2下docker容器安装hadoop

    2019独角兽企业重金招聘Python工程师标准>>> 系统准备: 系统安装及配置    [略]详见:http://www.osyunwei.com/archives/7702.ht ...

最新文章

  1. UISegmentedControl 分段器加载不同的viewcontroller
  2. angularjs 1.3 综合学习 (one way bind , ng-if , ng-switch , ng-messages, ng-form ,ng-model )
  3. mysql中如何判断某个字段是纯数字
  4. spring的applicationContext.xml如何自动加载
  5. Notepad++格式化JSON
  6. h5球的立体效果_使用HTML5 Canvas 2D直角坐标系实现三维球体效果
  7. 大量用户升级iPhone3.0系统导致苹果服务器故障
  8. oracle查询创建视图语句
  9. 完全数(Perfect Number)
  10. 分享200个App移动端模板---总有一个适合你
  11. 流利阅读 2019.2.27 How sky-high rents forced people into imaginative alternatives
  12. 关于OriginPRO/Origin画图消锯齿以及平滑点与点之间的连接
  13. 上海计算机一级和四六级,大学英语六级比四级难多少?985学长含泪告诉你!
  14. 使用css动画实现loding效果
  15. iOS UITableView 指定组头悬停位置
  16. 已解决At least Windows 8.1 or Windows Server 2012 are required to install Python 3.9.4(64-bit)
  17. Matlab从视频中提取图像,可以设定每多少秒提取1帧。
  18. 2021年安全员-C证考试资料及安全员-C证模拟考试题库
  19. 开发新客户和维护老客户哪个更重要
  20. Jlink给目标板供电 外部电源给目标板供电

热门文章

  1. python绘图使用matplotlib色卡
  2. 史上最全数据库优化方案,没有之一
  3. 红帽企业版Linux_6安装指南
  4. 做了一个仿脸萌的app,哈哈
  5. UE4Material_材质属性(1)
  6. 数据分享 | 中国典型城市建筑物实例数据集
  7. 密码学随笔---不可约多项式与本原多项式
  8. springboot+人事信息管理系统 毕业设计-附源码221507
  9. python日志审计系统_综合日志审计系统
  10. TC358743XBG/TC358749XBG(\w Scaler):HDMI转MIPI CSI东芝转换芯片