127.0.0.1 will not work, due to it's still different host, and in case of this sam bundle, it should point to sam's iris. And will not work it, because, it should be available for prometheus container, not just for IRIS container for sam. So, you have to use, it's name as a host iris

And to access, some IRIS external to docker, you may use host.docker.internal hostname, or docker.for.mac.localhost with Docker on macOS

So, the first line is points to SAM's IRIS, and second to an IRIS outside

I think host.docker.internal was added in some recent versions of Docker, so, probably check the version of Docker

And I have one more demo project, based on Realworld application, I found on GitHub

What I did, is just forked some project, switched it to using IRIS, by configuring its settings, added requirements, wrapped it in the container with IRIS, and that's mostly it.

Look at the repo https://github.com/caretdev/django-iris-realworld

For this project, I've used a non-CE version of IRIS, so, you will need an iris.key, placed in home directory to start it

It's not a big issue, to make it work. Just keep in mind that both containers, with SAM and monitored system, have to be in the same docker's network. If you run both images in with docker-compose, they by default will get the same network, so, in most cases, you may use IRIS service's name from docker-compose.yml as a hostname, and it will be able to connect to it internally inside that network.

If you need access from dockerized SAM to a dockerized IRIS, both working in different networks, you have to publish ports for IRIS, so, it should be available from the host, but from the docker, your SAM has to know the host's address and host.docker.internal is a way, to give it to him. And port should be the same as published when docker container is running.

When docker container is started with -p param, which says how to publish the port, possible to say, which IP to select, or select all  for instance -p 0.0.0.0:52273:52273

docker ps, may help with understanding how the container is available

8d8977f9d5f8   intersystemsdc/iris-community:preview                          "/tini -- /iris-main…"   6 days ago       Up 3 days (healthy)       0.0.0.0:1972->1972/tcp, 2188/tcp, 53773/tcp, 0.0.0.0:52773->52773/tcp, 54773/tcp                           iris

if it shows something like 127.0.0.1:52773->52773, it will only be available as localhost or 127.0.0.1 and will not be accessible from another container and network, because of host.docker.internal will refer to another ip

Could you explain, how you running all the parts?