Ferramentas como portainer, utilizam docker API para se conectar a um docker host remoto. Para isso é necessário habilitar docker API para receber conexões externas port 2375 ou 2376. Antes precisamos habilitar docker API para receber conexões externas.
#adicionar a config que defini a network e port
vim /etc/docker/daemon.json
{
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}
Nota: 0.0.0.0 indica any network, para habilitar especificamente para 1 IP é necessário trocar o 0.0.0.0 pelo IP.
De seguida customizar opções do daemon do docker usando override file para não fazermos alterações no file original ou default “/lib/systemd/system/docker.service ”
#criar o file override.conf
vim /etc/systemd/system/docker.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd
#Restart do docker daemon e service
systemctl daemon-reload
systemctl restart docker.service
E assim temos o Docker API a escuta port 2375.
Uma outra forma de atingir o mesmo objetivo é, ditar o daemon directamente e colocar as opções de abertura de tcp port 2375 no daemon.
vim /lib/systemd/system/docker.service
[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H=fd:// -H=tcp://0.0.0.0:2375 -H=tcp://0.0.0.0:2376 --containerd=/run/containerd/containerd.sock
systemctl daemon-reload
systemctl restart docker.service
Quick test, adicionar o container host no portainer via API

+ADD
