The Getting started page of ShinyProxy states to do the following. I will reproduce this so we're all on the same page.
---------- start reproduction ----------
sudo systemctl edit docker
This command opens your default editor, add the following content to the file:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:// -D -H tcp://127.0.0.1:2375
Next, save the file, close the editor and restart Docker using:
sudo systemctl restart docker
---------- end reproduction ----------
If I perform these steps and set url: http://localhost:2375 in the application.yml my shiny app containers fail to start.
docker logs return errors such as:
Container with index 0 failed to startDocker container failed to startConnect to localhost:2375 [localhost/127.0.0.1] failed: Connection refused (Connection refused)
However, if I set both url: http://172.17.0.1:2375 in the application.yml and ExecStart=/usr/bin/dockerd -H unix:// -D -H tcp://172.17.0.1:2375 in "Docker startup options" it works. 172.17.0.1 is the IPv4 address for docker0 on my host system. The application.yml also defines internal-networking: true.
I am running shinyproxy 3.0.2 via its docker image ( openanalytics/shinyproxy:3.0.2).
Can someone explain this?
It seems like the key to the described behaviour is that ShinyProxy is being run via docker container (
openanalytics/shinyproxy:3.0.2), which will "simply" not allow networking vialocalhost/127.0.0.1.Presumably networking should run in a docker specific manner e.g. via
172.17.0.1:2375ordocker.sock.My conclusion is that the "Getting started" page is a description if you want to run the standalone java application and not its dockerized version.
FWIW:
I've now switched to the following
dockersettings in the application.yaml, which also do not require the docker startup options to be edited. Settingurlseems not to be strictly needed if settinginternal-networking: true.