Launching InterSystems IRIS Community Edition Docker Image with User, Password and Namespace via Environment Variables
Hi Developers!
There is a recent update came for developer community images of InterSystems IRIS and IRIS For Health.
This release comes with Environment variables support.
Currently 3 variables are supported:
- IRIS_USERNAME=user to create
- IRIS_PASSWORD=with password
- IRIS_NAMESPACE=create namespace if doesn't exist
Here is what you can do - see below.
Start iris with your username and password created:
docker run --rm --name iris-sql -d -p 9091:1972 -p 9092:52773 -e IRIS_PASSWORD=demo -e IRIS_USERNAME=demo intersystemsdc/iris-community
Launch SQL terminal irissqlcli or Dbeaver:
$ irissqlcli iris://demo:demo@localhost:9091/USER
Server: InterSystems IRIS Version 2022.3.0.606 xDBC Protocol Version 65 Version: 0.5.1 [SQL]demo@localhost:USER> select $zversion +---------------------------------------------------------------------------------------------------------+ | Expression_1 | +---------------------------------------------------------------------------------------------------------+ | IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2022.3 (Build 606U) Mon Jan 30 2023 09:07:49 EST | +---------------------------------------------------------------------------------------------------------+ 1 row in set Time: 0.050s [SQL]demo@localhost:USER>
And you can start IRIS terminal:
docker exec -it iris-sql iriscli
Node: fd7911f0b130, Instance: IRIS
USER>And you can use IRIS_NAMESPACE variable to create a new namespace.
Let's stop and kill the container we created:
docker stop iris-sql
And launch a new one with namespace DEMO introduced:
docker run --rm --name iris-sql -d -p 9091:1972 -p 9092:52773 -e IRIS_PASSWORD=demo -e IRIS_USERNAME=demo -e IRIS_NAMESPACE=DEMO intersystemsdc/iris-community
Entering SQL terminal:
$ irissqlcli iris://demo:demo@localhost:9091/DEMO
Server: InterSystems IRIS Version 2022.3.0.606 xDBC Protocol Version 65
Version: 0.5.1
[SQL]demo@localhost:DEMO> exit
Goodbye!Entering IRIS terminal:
$ docker exec -it iris-sql iriscli -U DEMO Node: 6c52cb612bc0, Instance: IRIS DEMO>
And lets enter the IRIS terminal:
docker exec -it iris-sql iriscli -U DEMO
PS:
if you run the container locally you also can connect the SQL terminal via embedded python as:
$ docker exec -it iris-sql irissqlcli iris+emb:///DEMO
Server: IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2022.3 (Build 606U) Mon Jan 30 2023 09:07:49 EST
Version: 0.5.2
[SQL]irisowner@/usr/irissys/:DEMO> select $username
+--------------+
| Expression_1 |
+--------------+
| irisowner |
+--------------+
1 row in set
Time: 0.047s
[SQL]irisowner@/usr/irissys/:DEMO>Credit goes to @Dmitry Maslennikov
DC Community images you can use
The latest stable releases of InterSystems IRIS:
- intersystemsdc/iris-community - InterSystems IRIS Community Edition
- intersystemsdc/irisheatlh-community - InterSystems IRIS For Health Community Edition
- intersystemsdc/iris-ml-community - InterSystems IRIS Community Edition with IntegratedML package
- intersystemsdc/irishealth-ml-community - InterSystems IRIS Community Edition for Health with IntegratedML package
And the preview releases:
- intersystemsdc/iris-community:preview
- intersystemsdc/irisheatlh-community:preview
- intersystemsdc/iris-ml-community:preview
- intersystemsdc/irishealth-ml-community:preview
Happy coding!
UPDATE. Env variables without underscore are supported too:
- IRISUSERNAME=user to create
- IRISPASSWORD=with password
- IRISNAMESPACE=create namespace if doesn't exist
Comments
A nice extension to this: run iris and with an ipm package on-board. Here is one command to start IRIS and install web-terminal:
docker run --rm --name iris-ce -d -p 9091:1972 -p 9092:52773 -e IRIS_PASSWORD=demo -e IRIS_USERNAME=demo intersystemsdc/iris-community -a "echo 'zpm \"install webterminal\"' | iriscli"