在IRIS容器里添加VSCode
设置可重复的开发环境的最简单的方法之一是使用容器。我发现在快速迭代时,在我的开发环境容器里托管一个vscode实例是非常方便的。因此,我创建了一个快速的容器脚本,将一个基于浏览器的vscode添加到IRIS容器中。这应该适用于大多数2021.1以上的容器。我的代码库可以在这里找到
带VSCode 且预连接好的InterSystems IRIS 容器
Cred | Value |
---|---|
User | _SYSTEM |
Password | SYS |
概要
这个项目创建了一个IRIS容器,在同一个IRIS容器中提供了vscode的托管(web-based)版本。这提供了:
* 同样的容器代码编辑
* 预连接到容器内的IRIS 实例
* 管理门户里的链接
* 自动启动IDE
快速启动
- 下载 或者
git clone https://github.com/nickmitchko/Hosting-vscode-in-a-container.git
- 在项目根目录下, 运行
docker build . -t vscode-irishealth-ml:latest --no-cache
- 执行
docker-compose up
- 不使用 docker compose? 请看 这里
- 浏览 管理门户
- 用用户名和密码登陆
- 在Favorites 面板里点击 VSCODE 链接 on the favorites pane
- 依据提示在VScode里使用相同的用户名/密码 来连接到IRIS 实例
# New folder for project
mkdir vscode-iris
cd vscode-iris
# Clone repo here
git clone https://github.com/nickmitchko/Hosting-vscode-in-a-container.git .
# Build image
docker build . -t vscode-irishealth-ml:latest --no-cache
# Only Run (A) or (B)
#
# (A) Run compose file
docker-compose up
# OR (B) if you want a daemon
docker-compose up -d
添加持久化
如果想要一个持久化IRIS实例, 去掉docker-compose.yml 文件中16-20行里的注释 . 这样就在容器上增加了一个持久化存储的挂载。
volumes:
- "./durable/:/durable/"
environment:
- ISC_DATA_DIRECTORY=/durable/iconfig
改变基础镜像Base Image
这个镜像是建立在 InterSystems 开发者社区 zpm 镜像上 (看这里). 这些镜像包括了让我们从package repo 安装的zpm命令,只是仅有一个90天的社区版 license。
用于这个builds上的镜像标签image tag:
FROM intersystemsdc/irishealth-ml-community:latest
如果你想改变镜像, 把docker 文件里的第一行改成你想要的镜像标签image tag (可以是一个自定义的IRIS instance 或者 官方支持的). 例如:
FROM containers.intersystems.com/intersystems/irishealth-community:2021.2.0.651.0
无 Docker-Compose
如果你没有用 docker compose, 你仍然可以如下运行容器:
# After building the container
# --after command is required
docker run --name vscode -d \
--publish 1972:1972 \
--publish 52773:52773 \
--publish 51773:51773 \
--publish 53773:53773 \
--publish 8080:8080 \
--publish 8888:8888 \
vscode-irishealth-ml:latest \
--after "/bin/bash /install/boot.sh"