Sign inSign up

intersystems/iris-community

By intersystems

Updated 2 months ago

Cloud-based data platform for SQL and NoSQL DBMS, with embedded integration and analytics tools.

Image
8

100K+

intersystems/iris-community repository overview

InterSystems IRIS Community Edition

InterSystems IRIS is a cloud-based, full-featured data platform providing SQL and NoSQL database management, data and application integration, and structured and unstructured data analytics capabilities in a single, cloud-based, easy-to-use product.

Quickstart

Run the following command to pull the latest InterSystems IRIS image, create a container from it, and start it:

docker run --name my-iris -d --publish 1972:1972 --publish 52773:52773 intersystems/iris-community:latest-cd

Start an interactive terminal with the following:

docker exec -it my-iris iris session IRIS

Or login to the Mangement Portal at http://localhost:52773/csp/sys/%25CSP.Portal.Home.zen.

The default username is _SYSTEM and password is SYS; you will be prompted to change this password after logging in.

InterSystems IRIS

InterSystems IRIS provides the full range of capabilities needed for modern applications to make the journey from whiteboard to production faster and easier, including:

  • Concurrent transactional and analytic processing capabilities
  • Support for multiple fully synchronized data models (relational, hierarchical, object, and document)
  • A complete interoperability platform for integrating disparate data silos and applications, including sophisticated structured and unstructured analytics capabilities.
  • An open analytics environment for incorporating advanced analytics including AI and ML into solutions
  • Flexible deployment capabilities to support any combination of cloud and on-premise deployments.

InterSystems IRIS is built from the ground up with a single architecture to support a wide range of applications and scenarios.

Using this image

For simplicity, these instructions use intersystems/iris-community:latest-cd as a default, but you can substitute with any tag from the following repositories (also found under Tags at the top of each repository's page):

The images provided in these repositories are available in both amd64 and arm64 versions. To pull the former, use the repository name and a tag (e.g. intersystems/iris-community:latest-cd). For the latter, append -arm64 to the repository name (e.g. intersystems/iris-community-arm64:latest-cd).

InterSystems IRIS Community Edition images are also available from the InterSystems Container Registry.

Before using one of these images with the instructions here or the listed documentation, be sure to read Container Deployment Platforms Supported by InterSystems.

Create and start an InterSystems IRIS container

The docker run command pulls an image and creates a container from it, then starts the container. The following command names the container my-iris and runs it in the background (-d for "detach"). If you have not already pulled (downloaded) the image, Docker does that first.

docker run --name my-iris -d intersystems/iris-community:latest-cd

You can always check the status of all containers on your system using the docker ps -a command.

Note: If the container fails to start, with an error message indicating that your system has too many cores for the Community Edition license, first remove the stopped container with the command docker rm my-iris, then restrict a new container to 20 cores, the Community Edition limit, by inserting the options --cpuset-cpus=0-19 --cpus=20 after the --name option in the above docker run command.

Connect to the interactive InterSystems IRIS Terminal

The InterSystems IRIS instance running in my-iris is named IRIS. Execute the iris terminal command inside the container using docker exec; the -i (interactive) option keeps standard input open in a detached container, and -t allocates a pseudo-terminal.

docker exec -it my-iris iris session IRIS

This command prints some info to the console and opens the IRIS interactive terminal, denoted by the USER> cursor.

Node: 8a6940088a16, Instance: IRIS
USER>

From the InterSystems Terminal, you can set variables, call methods, and run routines. For more information, check out our video guide to Using the InterSystems Terminal.

set test = "example string", write test

To exit the InterSystems Terminal, enter halt.

USER> halt
Open the container command line

Under some circumstances, you may want to first open an interactive shell in the my-iris container and then execute the iris terminal command on the container command line.

docker exec -it my-iris bash
# iris terminal IRIS
Start an InterSystems IRIS container with published ports

Publishing the superserver port (1972) and web server port (52773) lets you interact with InterSystems IRIS from outside the container.

Add --publish options to the last docker run command:

docker run --name my-iris -d --publish 1972:1972 --publish 52773:52773 intersystems/iris-community:latest-cd

You are not limited to these values on the host system; you can choose any available host ports to publish the InterSystems IRIS ports:

docker run --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystems/iris-community:latest-cd

You can now load the instance's Management Portal in your browser. The URL includes the DNS name or IP address of the container host; if you are not browsing on that host, substitute its name for localhost. The port is the host port published for the instance's webserver port.

http://localhost:9092/csp/sys/UtilHome.csp

Use the _SYSTEM login with the password SYS. You are required to change the password after logging in.

To connect an IDE to the instance, use the container host's name or IP, the published superserver webserver port, and the _SYSTEM login with the new password you specified (or another predefined account with the new default password, as described in the next section).

Change the default password

To ensure that you have immediate access after installation, InterSystems IRIS comes with several predefined user accounts (including _SYSTEM), each of which has the default password SYS. To secure your instance, you should change these default passwords as soon as possible.

Stop and remove the my-iris container as before. In your next docker run command, you can use an option to the iris-main program, the container's entrypoint application, to change the instance's default password to the contents of a file you have placed on external storage you have mounted.

Choose a location on your host file system to mount as external storage for the container, and place a file called password.txt, containing the default password you want to set, in that location; for example, you can create the directory /home/user1/password and locate it there. When you issue the docker run command, bind mount /home/user1 (be sure to use an absolute path) as a storage volume in the container using the Docker --volume option and indicate where the password file is using the iris-main --password-file option. (Options to iris-main come at the end of the docker run command.)

docker run --name my-iris -d --publish 1972:1972 --publish 52773:52773 --volume /home/user1/:/durable intersystems/iris-community:latest-cd --password-file /durable/password/password.txt 

After the default password is changed, the password file you specified s removed. When you open the instance's Management Portal (see Start an InterSystems IRIS container with published ports above), you can log in using the password it contained with one of the predefined accounts, and InterSystems IRIS does not force you to change the password after you log in.

In production, because the password might be exposed while it is in the password file, you should use one of the methods described in Authentication and Passwords in Running InterSystems Products in Docker Containers.

Start an InterSystems IRIS container with persistent instance-specific storage

Any data saved inside a running container is lost when the container is removed. The durable %SYS feature lets the InterSystems IRIS instance store instance-specific data on persistent storage outside the container, which makes upgrading an InterSystems IRIS container simple and easy.

To do this, use the following steps:

  1. As described in Change the default password, above, choose a location on your host file system to mount as external storage for the container.
  2. Ensure that the InterSystems IRIS instance in the container will have full access to this location by issuing the following commands on the host's command line (adjusting the file system location as needed):
adduser irisowner
chown -R irisowner:irisowner /home/user1

Note: If you do not have root privileges, you must prefix these commands with sudo.

  1. As in Change the default password, use the –volume option to docker run to mount the persistent storage, and add the –env option to set an environment variable in the container that tells InterSystems IRIS where to write its instance-specific data (adjusting the file system location as needed):
docker run --name my-iris -d --publish 1972:1972 --publish 52773:52773 --volume /home/user1:/durable --env ISC_DATA_DIRECTORY=/durable/iris intersystems/iris-community:latest-cd

You can then examine the durable %SYS data in two ways: on the host, by listing the directory /home/user1, or inside the container, by opening an interactive shell (as described in Open the container command line, above) and listing the directory /durable.

Note: If for security or other reasons you want to avoid making user account and ownership changes on the container host, you can give the instance access to your chosen file system location by first running a temporary container with a bash entrypoint and the location mounted as a volume, changing ownership of the location from inside the container, exiting the shell, and removing the temporary container, for example:

docker run --name tmp-iris -it --user root --entrypoint bash --volume /home/user1/:/tmp 
    intersystems/iris-community:latest-cd
# chown -R irisowner:irisowner /tmp
# exit
docker rm tmp-iris
Use Docker Compose

Docker Compose, a tool for defining and running multi-container Docker applications, offers an alternative to command-line interaction with Docker. To use Compose, create a docker-compose.yml file containing specifications for the containers you want to create and start, then use the docker-compose command. A sample Docker Compose file incorporating the docker run options covered in the preceding sections is below.

version: "2.2"
services:
  iris:
    container_name: my-iris
    init: true
    image: intersystems/iris-community:latest-cd
     # If your CPU has >20 cores, limit InterSystems IRIS CE to 20 with
     # cpuset: "0-19"
     # cpus: "20"
    volumes:
      - /home/user1:/durable
     # Change /home/user1 to your directory
    environment:
     - ISC_DATA_DIRECTORY=/durable
    ports:
     - 52773:52773
     - 1972:1972
    command: --password-file /durable/password/password.txt
       

Resources

Tag summary

Content type

Image

Digest

sha256:cd2ebcab0

Size

946 MB

Last updated

2 months ago

docker pull intersystems/iris-community:latest-cd