You may have only 1 command: in each build
the 2nd overwrites the first

  iris:
    image: intersystemsdc/iris-community:latest
    command: --check-caps false
    container_name: tls-ssl-iris
    networks:
      app_net:
        ipv4_address: 172.16.238.20
    volumes:
      - ./iris-config-files:/opt/config-files
      # Mount certificates files.
      - ./certificates/CA_Server.cer:/usr/irissys/mgr/CA_Server.cer
      - ./certificates/iris_server.cer:/usr/irissys/mgr/iris_server.cer
      - ./certificates/iris_server.key:/usr/irissys/mgr/iris_server.key
    hostname: iris
    # Load the IRIS configuration file ./iris-config-files/iris-config.json
    command: ["-a","sh /opt/config-files/configureIris.sh"] 

this worked as multi-line 

command: 
    - -a
    - sh /opt/config-files/configureIris.sh 
      - --check-caps false

BUT  
         command: ["-a","sh /opt/config-files/configureIris.sh","--check-caps false"]

works as well 
 

%BI classes date back to Miner (DeepSee-1) and just were left in Caché over a decade at least
while its functionality was replaced by %DeepSee classes more than 10 years ago.

Of course, you can map all %BI.*  classes to some DB where you have R/W access and import it from Caché.
that's about 300 Classes.
BUT:  no one can tell you if they compile correctly
AND: you have to take care of the hidden %bi*.obj (~430) and other deployed code which you can't compile, but import and pray they work.

SO: this doesn't look like a  promising approach.

Therefore I'd suggest migrating from %BI to %DeepSee in Caché first and to IRIS next

SOAP is quite specific and critical to data format and structure.
You might extend it, but then Edge Server is the active part and you depend on its regular "broadcast".
If Doc Server should be the active partner I'd rather suggest to use JDBC in Linux.
Your actual $get might be embedded as a Method projected as SQL Procedure that you call.
There exist examples to even execute COS commands by that approach:
see: ObjectScript over ODBC

Your keywords >90% COS + SAMPLES indicate your background.
if you don't intend to win a prize in a contest adapting some CSP Samples will be fastest. Forget any ZEN.
And just call the CSP class. never the .CSP itself.
what I mean:
NOT http://localhost:56773/csp/samples/form.csp
BUT http://localhost:56773/csp/samples/csp.form.CLS

It's my quick and dirty approach