I did the test, but it failed.
 

C:\GitHub\_my\SSH-for-IRIS-container>docker-compose exec iris iris session iris

Node: f386a88482f2, Instance: IRIS
USER>Set ip = $SYSTEM.INetInfo.HostNameToAddr("host.docker.internal")
USER>zw ip
ip="192.168.65.2"

The correct IP = 192.168.0.9
it's also not the IP-Address of WSL-2 shell  172.21.225.243
It's not even in the DHCP range of my router, nor in the WLAN range
Sorry

BUT: this is an excellent use case for my recent Proposal

Hi @Iryna Mykhailova and welcome to the Tutorials Contest.
I was waiting for you.
I feel honored that you took the same subject as me %QUERY (officially  Class Query)
In addition, I appreciate that you confirmed by your screenshots, my statement that
the Studio wizard is the most comfortable way to start with the subject. 

The idea to simulate a virtual table is a very nice idea. 
But there is a point in your example that I don't understand:

  • ClassMethod GetAllOlderThanExecute(ByRef qHandle As %Binary, Age As %Integer = 65)  
  • But in ClassMethod GetAllOlderThanFetch(.....)  you don't have it anymore and don't use it and display ALL generated records independent of Age

Did I miss something? 

I found an acceptable workaround.

  • installed telnetd into the container and started it
  • mapped some external port to port 23
  • set this external port  in my cube
  • started the IRIS Terminal
  • BINGO !

You may raise all concerns on Security and Container Isolation.  Accepted! And ignored!
Since THIS solves my issues on optical verification of the user interface.

If you are not afraid of using basic COS functionality:
your reload method raises a LOCK ^myRELOAD  
and drops it with completion LOCK -^myRELOAD

Your check utility does the same but with a timeout LOCK ^myRELOAD:0
if it fails - signaled by $TEST=0  you loop and hang around and retry
for success $TEST=1 you go on but release your successful LOCK immediately
not to block anyone else.
 

According to your JSON model, I would assume this to start:
(sory had no chance to test myself)

Class Test.GEOMETRIEPOINT Extends (%SerialObject, %JSON.Adaptor, %XML.Adaptor) 
{

Property "GEO_TAB_COORDONNES" As list Of %Float;
}

Class Test.GEOMETRIELINE Extends (%SerialObject, %JSON.Adaptor, %XML.Adaptor)
{

Property "GEOMETRIE_LINE" As list Of GEOMETRIEPOINT;
}

Class Test.POLYGON Extends (%Persistent,%JSON.Adaptor, %XML.Adaptor)
{

Property "GEOMETRIE_POLYGON" As list Of GEOMETRIELINE;
{