文章
Michael Lei · 四月 17 阅读大约需 3 分钟

在IRIS容器里添加VSCode

在IRIS容器里添加VSCode

设置可重复的开发环境的最简单的方法之一是使用容器。我发现在快速迭代时,在我的开发环境容器里托管一个vscode实例是非常方便的。因此,我创建了一个快速的容器脚本,将一个基于浏览器的vscode添加到IRIS容器中。这应该适用于大多数2021.1以上的容器。我的代码库可以在这里找到

带VSCode 且预连接好的InterSystems IRIS 容器

Cred Value
User _SYSTEM
Password SYS

image

概要

这个项目创建了一个IRIS容器,在同一个IRIS容器中提供了vscode的托管(web-based)版本。这提供了:
* 同样的容器代码编辑
* 预连接到容器内的IRIS 实例
* 管理门户里的链接
* 自动启动IDE

快速启动

  1. 下载 或者 git clone https://github.com/nickmitchko/Hosting-vscode-in-a-container.git
  2. 在项目根目录下, 运行 docker build . -t vscode-irishealth-ml:latest --no-cache
  3. 执行 docker-compose up
    • 不使用 docker compose? 请看 这里
  4. 浏览 管理门户
  5. 用用户名和密码登陆
  6. 在Favorites 面板里点击 VSCODE 链接 on the favorites pane
  7. 依据提示在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"
0
0 11
讨论 (0)1
登录或注册以继续