well, looks so, but there are no methods, which will return available connections.

Anyway, another point of my post, is that it's not enough at all. Only 5 connections and you almost have no control over usage, you can spend all connections too fast. For instance, I'm using DBeaver, and when it connects, it uses 3 workers, and utilize 3 connections. When I develop Django application, I have to be sure, to run in single thread mode, or, it will use all connections too fast. Any development in any language, will get own limits as well. And sometime, you may get some unexpected issues, like with LOAD DATA, you may think, yep, it's just a SQL query, which can be executed in your process, so, no extra connections will be used, but it's wrong. And you always should keep in mind, that you may quickly get into limit. You connected to DBveaver, have one terminal, SMP, something else, and you decided to compile your code in VSCode, nope, no place for it. You have to disconnect DBeaver or, find another way to free connections.

Yes, I get it. I just don't get why I spend my connections on something, that I don't expect to spend. I'm too limited. How many connections, any of the processes may consume? I have no idea how to know it.

Well, yes I see, it's a Community Edition. But how I can be so sure, that the licensed version, will work another way?  There is a limit of 25 connections, and if someway, in the background it will create more connections than left, It will consume 25 license units at once, and it's exactly what I would not want to get in production. I need expected behavior. And this is not expected at all.

Found one more thing. Kind of a useful new feature LOAD DATA. But why does it use external java and consumes so precious connections? So, I get issues like this.

08/03/2022 18:50:52 - INFO: Running SQL Statement: Loading file sample_file.csv:
LOAD BULK %NOJOURN DATA FROM FILE '/home/irisowner/taxi/data/sample_file.csv' INTO NYTaxi.RowRides (VendorID,tpep_pickup_datetime,tpep_dropoff_datetime,passenger_count,trip_distance,RatecodeID,store_and_fwd_flag,PULocationID,DOLocationID,payment_type,fare_amount,extra,mta_tax,tip_amount,tolls_amount,improvement_surcharge,total_amount) USING '{ "from": {"file": {"columnseparator":",", "header": true } } }'
08/03/2022 18:50:52 - INFO: Preparing Loading file sample_file.csv - OK
08/03/2022 18:51:53 - ERROR: Error executing Loading file sample_file.csv: ERROR #5023: Remote Gateway Error: Connection cannot be established
08/03/2022 18:51:53 - INFO: Finished loading NYTaxi.RowRides in 60.28s

And there one another issue, which I often see, when using external languages. The connection waits is 60 seconds, and fails, why it does not fail fast? It already knows that there are no licenses/connections left, what is the reason of wait?

docker-compose is just a wrapper around Docker. 

But anyway, I'm sure you can still use docker no matter what environment you have. As soon as you can run any virtual machine hypervisor, you can even use a separate machine from yours. Yeah, there are probably some limitations, but not sure if they are not solvable. I'm not a Windows user at all.

Since the beginning of the era of Docker, there was a way, named docker-machine, but I suppose it's not in development anymore.

There is a possibility to install client only on windows, and there was a way to connect it to any external docker server by setting environment variable DOCKER_HOST

Please, next time, when you spontaneously add flags and remove flags or features that prevent starting IRIS in Docker, think about end-users, who would need, to run different versions of IRIS, it makes it more complicated to follow all those changes. One version does not work with flags, another does not work with this flag. We need something more stable. When I need to configure the CI process for multiple versions, now I should somehow decide which version has this flag and which has not.