#Docker

6 Followers · 385 Posts

Docker is a software technology providing containers, promoted by the company Docker, Inc. Docker provides an additional layer of abstraction and automation of operating-system-level virtualization on Windows and Linux.

Question Scott Roth · Oct 11, 2022

I am trying to get the Apache Web Gateway with Docker running on a development RHEL 8 machine so I do not have to config the Web Gateway and Apache apart from each other. I noticed the Apache Web Gateway docker image is using IRIS Community Edition. However when I try to run the docker image with podman I am running into issues with the IRIS setup. I was wondering if someone could help me. When I get the image to run I am seeing the following errors...

2
1 422
Announcement Bob Kuszewski · Apr 1, 2022

Docker 20.10.14 (released March 23, 2022) changes the Linux capabilities given to containers in a manner that is incompatible with the Linux capability checker in InterSystems IRIS 2021.1 (and up) containers. 

Users running Docker 20.10.14 on Linux will find that IRIS 2021.1+ containers will fail to start and the logs will incorrectly report that required Linux capabilities are missing.  For example:

[ERROR] Required Linux capability cap_setuid is missing.
[ERROR] Required Linux capability cap_dac_override is missing.
[ERROR] Required Linux capability cap_fowner is missing.
[ERROR] Required Linux capability cap_setgid is missing. 
[ERROR] Required Linux capability cap_kill is missing.
[FATAL] Your IRIS container is missing one or more required Linux capabilities.
9
0 2554
Discussion Evgeny Shvarov · Sep 25, 2022

Hi folks!

We have a bunch of templates on OEX that provide a handy foundation for building a particular application with IRIS.  And the basic principle of each and every template is that we take vanilla IRIS images, load code, and files into the image using Dockerfile, and create a new docker image as a solution. And then we develop running this image and rebuilding it when returning to development.

Some developers ask me why we need to build the docker image to work with the code. Indeed, if at the end of the day I need to develop a ZPM package and not a docker image why don't run the vanilla image and load the code and everything in it? 

The problem I have with the building image approach is that often I can wait a lot to build an image and it fails on some Objectscript problem in the source that I cannot fix as the image is not building. and 

Any thoughts? How do you develop with docker?

4
1 599
Discussion Dmitry Maslennikov · Sep 22, 2022

For quite some time InterSystems IRIS supports such thing as Merging CPF. So, with help of this it should be possible to define only desired changes in configuration. And get them applied even with vanilla Docker image. 

And I though it could be useful when used with Dockerfile. Use this way to configure IRIS during docker build instead of using Installer manifest.

8
0 684
Question Thomas Wuppermann · Sep 23, 2022

While the documentation of configuring authentication with Kerberos for IRIS on Linux servers is sparse, for docker i found no docs at all. Assuming I would be able to adapt the requirements from linux to docker (on linux host) I had no success at all. Has anyone successfully done this?

Even with "do ^REDEBUG" set to FFFFFFFF the log did not help much, I always get "Kerberos error getting initial credentials with password; KDC reply did not match expectations". Since I moved the iris.

0
0 396
Article Lucas Enard · Sep 11, 2022 16m read

Hello everyone, I’m a French student that just arrived in Prague for an academical exchange for my fifth year of engineering school and here is my participation in the interop contest.

I hadn’t much time to code since I was moving from France to Prague and I’m participating alone, so I decided to make a project that’s more like a template rather than an application.

I wanted to participate since my field (Data Science and AI) is not often linked with sustainability and the contest was a way for me to express myself in this important subject that is sustainability and Environnement.

4
0 420
Article Jimmy Xu · Aug 19, 2022 2m read

I am happy to share with you my first experience of using a docker container version of IRIS for Health to explore your interest in using or having a trial by taking the advantage of a docker container that is lightweight, and easy to deploy. This cookbook will go through the implementation steps using the GitHub repository called ENSDEMO written by Renan Lourenco.

Steps for setting up an IRIS for Health Community Edition docker container environment

  1. Docker up and running
  2. Download the docker image

docker pull containers.intersystems.com/intersystems/irishealth-community:2022.2.0.304.

3
0 634
Question Michael Davidovich · Aug 26, 2022

Hello,

I'm using CircleCI to spin up the image `store/intersystems/irishealth-community:2021.2.0.649.0`.

When building the application we are getting messages that say:

ERROR #5373: Class 'EnsLib.HL7.Message', used by 'Package.Class', does not exist
Skip class Package.Class

Other missing classes seem to include, but not limited to:

Ens.BusinessProcessBPL
Ens.BusinessService
EnsLib.RecordMap.ComplexChild
EnsLib.EDI.XML.Document
Ens.

19
0 626
Question Ditmar Tybussek · Aug 31, 2022

Hi, 

I have a problem when starting the docker container that the collation is standard US

sample:

docker run --name iris1 -d --publish 1972:1972 --publish 52773:52773 containers.intersystems.com/intersystems/iris-community:2022.1.0.209.0 --check-caps false

After the installation I like to import existing classes and globals but it failed due to an collation error 

We usually use DEUW = German3 

if I change it manually - in the management portal / NLS. -  to DEUW it works fine.

3
0 368
Announcement Evgeny Shvarov · Aug 29, 2022

Hi Developers!

Here're the technology bonuses for the InterSystems "Sustainability" Interoperability Contest 2022 that will give you extra points in the voting:

  • Sustainability Topic
  • Sustainability Dataset
  • Business Process BPL or Business Rule DTL Usage
  • Custom Interoperability Adapter
  • Production EXtension(PEX) Python, Java, or .NET usage
  • Embedded Python usage
  • Docker container usage
  • ZPM Package Deployment
  • Online Demo
  • Code Quality pass
  • Article on Developer Community
  • The second article on Developer Community
  • Video on YouTube

See the details below.<--break->

1
0 365
Article Yuri Marx · Aug 8, 2022 24m read

In this article you will have access to the curated base of articles from the InterSystems Developer Community of the most relevant topics to learning InterSystems IRIS. Find top published articles ranked by Machine Learning, Embedded Python, JSON, API and REST Applications, Manage and Configure InterSystems Environments, Docker and Cloud, VSCode, SQL, Analytics/BI, Globals, Security, DevOps, Interoperability, Native API. Learn and Enjoy!

Machine Learning

Machine Learning is a mandatory technology to build advanced data analysis and automate manual activities with excellent efficiency.

6
7 1246
Question Daniel Bertozzi · Aug 10, 2022

Hi all

I'm testing migrating our existing installers (without ZPM) using the docker dev template as a basis with a commercial image and licence key.

So far everything builds as I expect, but the one issue I have is the production doesn't apply itself automatically.

In my iris.script I have custom installer that uses this manifest below but it does not observe the last three steps

<NamespaceName<<

As a workaround I do a compile in iris.

2
0 476
Question Scott Roth · Jul 29, 2022

I was wondering if someone could help me. I do not have docker available to me however a lot of the Open Exchange apps require it. Since I am using a Virtual Windows Machine I can not get docker installed, so I was wondering how to get around this? Someone at GS2022 suggested looking at the docker_compose.yml to figure out how to get around docker, but I am not sure I understand how to read it. 

Does someone have any quick solutions to get around docker compose? Or can tell me how to read a docker compose so that I can install some Open Exchange and or additional InterSystems components?

3
0 638
Discussion Dmitry Maslennikov · Jul 10, 2022

I would say it is a post of pain after years of using InterrSystems IRIS Docker images in many projects.

And I hope InterSystems will hear me and do something with it.

We have a lot of issues with Docker images, but I see no progress in solving them.

  • containers.intersystems.com - any new releases substitute previous versions, makes build useless
    • ARM64 images have separate names, and it makes a pain to use them
  • flags in iris-main, appears and disappears from version to version, which may fail the start the container
  • healthcheck does not work as expected
3
0 865
Article Evgeny Shvarov · May 4, 2022 2m read

Hi developer folks!

Thanks to all of you who start the development with InterSystems IRIS from the basic development template!

Recently, thanks to @Dmitry Maslennikov's contributionsI've updated the Dockerfile to make the development simpler, images lighter and the building process faster. And it looks more beautiful too ;)

Here is what changed:

4
2 724
Article Evgeny Shvarov · May 28, 2022 3m read

Hi Developers!

This is yet another short post that is intended to simplify developers' life. Now we'll talk about how to make GitHub run unit tests with every push to the repository by adding just one file to the repo. For free.  On Github Cloud. Sounds great, isn't it?

It is possible and very easy to do. Credit goes to @Dmitry Maslennikov (and his repo), ZPM Package Manager, and GitHub Actions.  Let's see how this all works!

Something for Nothing by Robert Sheckley - YouTube

0
0 606
Question Michael Davidovich · May 13, 2022

We are experience this with our own web app and even the demo/template here: intersystems-community/iris-fullstack-template: This template shows you how to build, test and deploy a simple full-stack application using InterSystems IRIS REST API (github.com)

When changes are made to CSS or HTML files, we can see the changes are saved to file in the Docker container by visiting the command line.  However, after refreshing, clearing cache, etc. the changes don't appear on the web application in the browser.  Viewing the source css in the browser, we see it's the old file.

7
0 368
Article Victor Sanner · Apr 20, 2022 2m read

Hi,

I have wrote an article about how to install the intersystems cache driver in a Docker container, and then deploy it using Azure Functions: 

How to run a (Python) Azure Function as a Docker container & Deploy it using Bicep | Victor Sanner
This might be useful to others, especially the dockerfile which I have copied below. This builds a debian docker container and installs the Intersystems Cache driver, which python can then use :)

To enable ssh & remote debugging on app service change the base image to the one below
# FROM mcr.microsoft.com/azure-functions/python:3.0-python3.6-appservice
FROM mcr.microsoft.com/azure-functions/python:3.0-python3.6

ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
    AzureFunctionsJobHost__Logging__Console__IsEnabled=true

# Add ODBC Driver requirements 
RUN apt-get update \
 && apt-get install unixodbc -y \
 && apt-get install unixodbc-dev -y \
 && apt-get install freetds-dev -y \
 && apt-get install freetds-bin -y \
 && apt-get install tdsodbc -y \
 && apt-get install --reinstall build-essential -y

# add pyodbc requirements
RUN apt-get install python-pyodbc -y

#copy the driver to container
COPY /Driver /usr/lib/intersystems/odbc

#run install script
RUN /usr/lib/intersystems/odbc/ODBCinstall

#copy the odbc configuration file to the container
COPY odbc.ini /etc/intersystemsodbc.ini

#make the odbc library aware that we have added a new driver
RUN odbcinst -i -d -f /etc/intersystemsodbc.ini

#symlink the odbc driver, not sure if its required
RUN ln -s /usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0 /usr/lib/x86_64-linux-gnu/odbc/libodbccr.so

#copy the Azure Functions project to the docker image
COPY . /home/site/wwwroot

#install the python libraries as you would usually do
RUN cd /home/site/wwwroot && pip install -r requirements.txt
0
2 736
Question Rajasekaran Dhandapani · Apr 9, 2022

I am new to Intersystems, in our project we are directly connecting to the server (environment) using  Intersystems VSCode extensions and publishing our changes from local machine. This is not the way we usually do as development process.

Is it possible to implement continuous integration ? So that developers can check-in their code in GIT Hub and can integrate Jenkins and automate the deployment?

Could you please help me on this ?

3
0 468
Article John Murray · Apr 1, 2022 2m read

I have recently started making more use of Docker Desktop on my Windows 11 workstation, particularly in conjunction with VS Code's Remote - Containers extension and the iris-python-template repo from @Guillaume Rongier

Sometimes the container would start smoothly, but other times it would fail and report being unable to use a port.

Eventually I tracked the problem down. The Windows NAT Driver service apparently uses an OS facility to reserve a large range of ports.

0
3 2240
Article Eduard Lebedyuk · Jun 3, 2021 7m read

IMPORTANT NOTE InterSystems no longer provides a separate InterSystems Reports Server container. To run containerized InterSystems Reports Server, use Logi Reports Server container and your InterSystems Reports Server license. Documentation.

InterSystems Reports is powered by Logi Report (formerly named JReport), a product of Logi Analytics. InterSystems Reports is supported by InterSystems IRIS and InterSystems IRIS for Health. It provides a robust modern reporting solution that includes:

  • Embedded operational reporting which can be customized by both report developers and end users.
  • Pixel-perfect formatting that lets you develop highly specific form grids or other special layout elements for invoices, documents, and forms.
  • Banded layouts that provide structure for aggregated and detailed data.
  • Exact positioning of headers, footers, aggregations, detailed data, images, and sub-reports.
  • A variety of page report types.
  • Large-scale dynamic report scheduling and distribution including export to PDF, XLS, HTML, XML, and other file formats, printing, and archiving for regulatory compliance.

InterSystems Reports consists of:

  • A report designer, which provides Design and Preview Tabs that enable report developers to create and preview reports with live data.
  • A report server which provides end users browser-based access to run, schedule, filter, and modify reports.

From InterSystems documentation.

This article focuses on the Server part of InterSystems Reports and provides a guide on running Report Server in containers while persisting all the data.

2
3 993