I am creating a test instance of our Self-Hosted Retool Enterprise. I created a new VM, setup retool, and I have it functioning. (Well, mostly - that will be a different thread). I need to adjust the subnets used by Docker for the Retool containers. Our primary enterprise subnet is the same as the subnet being selected by one of the Retool containers (172.18.0.1/16). (The database connector is the specific container in this instance). As a result, I cannot connect to any of the resources on our network.
Normally, there would be a daemon.json in the /etc/docker directory that would contain all of the bridge network configuration. That does not exist. I am unable to locate any json file that contains the networks in use for Retool.
How can I change the subnets chosen by the Retool containers to something else.
I have attempted to manually change the bridge after boot, but then the container does not connect to the rest of the containers. So I reverted that back.
Any help would be appreciated in this matter.
Hey @summitrad, is this still an issue you're running into? If so, would you mind expanding a bit more on the platform you're using to host Retool? What behavior are you seeing with the other containers? And how are you otherwise managing your network configuration?
Yes, this is still happening. I've pretty much just given up on this. I Folded the server as it was a sandbox server for upgrade testing. (Unlike our other Sanbox server, this was a fresh install, while the other one was a clone of our production system).
We are hosting on a Debian 11, fully patched, Linux host running Docker.
The behavior is that since the containers that make up Retool are getting IP's that overlap with our real address space, nothing can communicate to or from Retool.
One subnet within our Real Address Space - 172.18.110.0/24
Retool DEV Host is on 10.19.67.0/24.
One of the Docker Container Bridges is using 172.18.110.0/24 (As well as other contiguous blocks... which also overlap with our real address space.)
As a result, none of the ancillary services on the 172.18.110.0/24 can be contacted (like databases). The local docker environment thinks that 172.18.110.0/24 is local to docker living here.
Normally the daemon.json file would contain the IP ranges for the docker networks. That file is not present for the Retool stack (created using the Retool Docker Compose yaml file.). Even if I create one, it is ignored for the Retool docker containers. Clearly that address range is coming from somewhere.
Where is Retool making the decision for using these IP ranges for the internal container networking? Where can I change it to use something else?
Hi @summitrad
The 172.x.x.x ranges are chosen by Docker. Docker typically uses subnets with second octet varying. Not sure where this can be changed in Docker, but pretty sure it can be done somehow.
Only config I knownin Retool Docker files regarding networking is the docker-compose.yml where all the networks are created.
1 Like
+1 to @mbruijnpff's comment! On Docker desktop the setting for changing the subnet can look like this, you might be able to change this by editing the daemon.json
file associated with the Docker installation on your Linux host as mentioned here.