InterSystems Official
Steven LeBlanc · Aug 21, 2020

Introducing InterSystems Container Registry

I am pleased to announce the availability of InterSystems Container Registry. This provides a new distribution channel for customers to access container-based releases and previews. All Community Edition images are available in a public repository with no login required. All full released images (IRIS, IRIS for Health, Health Connect, System Alerting and Monitoring, InterSystems Cloud Manager) and utility images (such as arbiter, Web Gateway, and PasswordHash) require a login token, generated from your WRC account credentials.

The WRC Distributions site will continue to provide released images as tarballs for the time being.  However, you can now configure your CI/CD pipelines to ‘docker pull’ images directly from InterSystems Container Registry.

The registry can be accessed at https://containers.intersystems.com. Please refer below or to the documentation (Using the InterSystems Container Registry) for full usage instructions. If you run into any issue or have any feedback to share please let us know in the comments below, or contact support@intersystems.com.

--------------------------------------------------------------

Using the InterSystems Container Registry

This document provides instructions for using InterSystems Container Registry (ICR), located at containers.intersystems.com.

Images in the ICR can be downloaded with the docker pull command, for example:

docker pull containers.intersystems.com/intersystems/iris-community:2020.4.0.547.0

 

For a full listing of all available images, please refer to Container Images Available from InterSystems
 

This document contains the following sections:

  • Authenticating to the ICR
  • Listing the ICR Inventory

 

Authenticating to the ICR

To log into the ICR, take the following steps:

  1. Load https://containers.intersystems.com/ in your browser and log in with your InterSystems/WRC credentials.
  2. Retrieve your Docker login token, or the full login command.
  3. In your Docker interface (for example, your PowerShell window or Linux command line), authenticate to the ICR using the provided credentials. You can do this by copying and pasting the full docker login command displayed, for example:
docker login -u="bbinstoc" -p="provided_password" containers.intersystems.com

For security reasons, however, you may want to instead enter the command docker login containers.intersystems.com, then enter your username at the Username prompt and paste your password into the Password: prompt.

Note: If you are logged into another Docker registry, the docker login command may result in an error; log out of the other registry before logging into containers.intersystems.com.

  1. You can now pull images from the ICR, for example:
docker pull containers.intersystems.com/intersystems/iris:2020.4.0.547.0

Listing the ICR Inventory

APIs are available to list images and tags in a Docker registry. An example of an open source third-party utility that can be used to list a registry’s inventory is docker-ls, available at https://github.com/mayflower/docker-ls.

There are several ways to obtain this utility. You can:

  • Download precompiled docker-ls binaries for a variety of platforms.
  • Install the utility directly on some platforms, for example on Linux systems with the command
sudo snap install docker-ls
  • Pull and run the image carinadigital/docker-ls:latest on Linux platforms to install the utility, for example:
docker run --rm carinadigital/docker-ls:latest

Once docker-ls is installed, you can use the following command to list the repositories in the ICR:

docker-ls repositories --registry https://containers.intersystems.com --user username --password password

Note:    Use the --interactive-password option to be prompted for the password rather than including it on the command line.

To list only the publicly available images, provide empty strings ("") as arguments to the --user and --password options, for example, the following lists only the tags of public InterSystems IRIS for Health images:

docker-ls tags --registry https://containers.intersystems.com --user "" --password "" intersystems/irishealth-community

If you wish to see the full list of non-public images, you will need to provide your username and password to this utility regardless of whether you are logged into containers.intersystems.com.

Further examples are available at https://github.com/mayflower/docker-ls

 

150
4 6 14 1,163
Log in or sign up to continue

Hi, it's possible you're still logged into another registry. Can you try a 'docker logout' prior to attempting to access containers.intersystems.com?

Hi Abdullah,
We needed to link your user account with your organization.
That should be all set now, please let us know if you have any further issues.

Even after another docker logout? Please reach out to the WRC to help with your authentication issue. 

thank you a lot, it is succeeded and I would like to send you the message:

WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/snap/docker/471/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-...

Login Succeeded

But I have another Problem as I have done: docker-compose build:

Step 1/16 : FROM containers.intersystems.com/intersystems/webgateway:2020.2.0.211.0
ERROR: Service 'webserver' failed to build : manifest for containers.intersystems.com/intersystems/webgateway:2020.2.0.211.0 not found: manifest unknown: The named manifest is not known to the registry.
 

Steven, I'm getting this even after doing a docker logout too. Same error, BAD_CREDENTIAL. I see there's a comment above about linking an account to an organization. Do I need to do that?

Hi David, yes I believe you'll need to contact the WRC to make sure that your email/login is linked to a supported organization, as that's required in order to access non-community images in the registry. You can contact support@intersystems.com and they can help straighten this out for you.

If you are otherwise intending to access Community Edition images, you shouldn't need to log in at all.

For those of you that like GUI tools in an IDE, I just installed the Microsoft Docker extension for VS Code. It shows my Containers and Images just like Docker Desktop Dashboard does, and lets me start/stop/launch CLI/inspect etc.

But the real reason I installed it is because there's also a Registries section with a Connect Registry icon (looks like a plug).

Using that, I chose "Generic Docker Registry" (other choices: Azure, Docker Hub, GitLab). I supplied the registry URL. It prompted me for my username and password (Docker login token as described above) and I can now browse the registry. Beautiful!

I have this error in my WSL:
~$ docker pull containers.intersystems.com/intersystems/webgateway:2021.1.0.205.0
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

I am so sorry, that's because I haven't run Docker yet

I got that every time unless I did sudo for the docker pull.

In Linux, create a docker group and add your user to that.  This should enable you to do docker without sudo.