I run several services via docker on different devices. I wanted to manage all these docker instances via one Portainer docker instance.
The connection to the local docker instance on 192.168.1.100 is done using Unix socket following this documentation
The connection to the remote docker instances on 192.168.1.101 & 192.168.1.102 is configured following this documentation
For remote instance you need to replace 127.0.0.1 by the correct IP address of your remote servers: 192.168.1.101 & 192.168.1.102 in this example
Use the command
sudo systemctl edit docker.service to open an override file for
docker.service in a text editor.
Add or modify the following lines, substituting your own values.
[Service] ExecStart= ExecStart=/usr/bin/dockerd -H fd:// -H tcp://192.168.1.101:2375
Save the file.
sudo systemctl daemon-reload
sudo systemctl restart docker.service
Once done you can add this docker instance as a new environment in your portainer:
This solution is good only for a private use, in a professional environment you would prefer to connect via a secured connection using TLS certificates.