Raj is a product manager at InterSystems focused on developer experience. He pioneered Web mapping-as-a-service in the late 1990s with Syncline, a startup he co-founded. After that he finished his PhD in Information Systems for Planning at MIT, creating a distributed computing architecture for urban information systems based on web services design patterns.
He then worked for a decade on spatial data interoperability challenges with the Open Geospatial Consortium helping governments work with software companies to share and manage geographic information for natural resource management, disaster relief, and defense coordination.
Prior to joining InterSystems, Raj worked in developer relations for database and data science cloud offerings at IBM.
Have you seen https://github.com/grongierisc/iris-flask-template? This agrees with a lot of what you found out, but might be a little simpler. The only thing I changed for my work is my pip3 install
command in Dockerfile adds a --target
as recommended by @Dmitry Maslennikov:
RUN pip3 install -r requirements.txt --target /usr/irissys/mgr/python
Thank you!







Let me comment separately on the venv question. Remember, you could choose to run your flask app in a separate container and use Docker compose to orchestrate the containers. That will give you all the normal venv options.
If, however, you choose to run your flask app embedded in IRIS (running using embedded Python), you are running in-process with IRIS, and that process can't load and unload Python virtual environments while maintaining the benefits of running in embedded mode, so therefore the implication for containerization is that yes you do have to create a new base image when you want to add a package, but that's the tradeoff.