Notícias
Novos modelos de linguagem da API Serverspace GPT
Serverspace Black Friday
RP
julho 10, 2025
Atualizado julho 10, 2025

Como configurar o acesso à API do Docker?

Linux

Às vezes, é necessário gerenciar o Docker não apenas com o comando local docker, mas também remotamente — usando a API. Neste artigo, vamos entender como habilitar o acesso à API do Docker, quais métodos de conexão existem e como garantir a segurança da conexão.

Por padrão, a API do Docker está disponível apenas por meio de um socket. Após a instalação do Docker, os contêineres são gerenciados por meio de um socket Unix: /var/run/docker.sock. Esse é um método local e não permite conexão pela rede. Se você tentar enviar uma requisição HTTP para localhost:2375, ocorrerá um erro de conexão:

curl http://localhost:2375/version
# curl: (7) Failed to connect to localhost port 2375: Connection refused

Para usar a API remotamente, é necessário alterar a configuração do Docker.

Métodos de acesso à API do Docker

O Docker pode aceitar conexões via:

  • Socket Unix (/var/run/docker.sock) — padrão.
  • Socket TCP sem TLS (ex: tcp://0.0.0.0:2375) — acesso aberto, NÃO recomendado.
  • Socket TCP com TLS (ex: tcp://0.0.0.0:2376) — método seguro.

Configurando a API do Docker via arquivos de configuração. Primeiramente, é necessário alterar os parâmetros de inicialização do serviço Docker. Crie ou edite o arquivo:

nano /etc/docker/daemon.json

Adicione ou edite o conteúdo:

{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}

Como o Docker não impede conflitos de configuração, também removeremos os argumentos de inicialização do systemd, deixando conforme mostrado na captura de tela:

nano /lib/systemd/system/docker.service
systemd-2048x584
Captura de tela nº 1 — Systemd

Atenção: a porta 2375 é usada sem criptografia. Use apenas em ambiente de testes ou com um firewall, pois a API do Docker não oferece, por padrão, mecanismos de autenticação que validem os usuários. Por conta dessa má configuração, mais de 16 mil máquinas podem estar vulneráveis atualmente:

shodan-2048x963
Captura de tela nº 2 — Shodan

Aplique as alterações e reinicie o Docker:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart docker

Verifique a disponibilidade da API:

curl http://localhost:2375/version
docker-api-2048x265
Captura de tela nº 3 — Conexão do cliente

Como conectar à API a partir de outro computador

Na máquina cliente, você pode usar:

export DOCKER_HOST=tcp://IP_DO_SERVIDOR:2375
docker ps

Se a conexão não for estabelecida, verifique se:

  • O servidor está escutando na porta 2375 (ss -tuln | grep 2375);
  • A porta está liberada no firewall (ufw allow 2375/tcp);
  • O Docker está realmente em execução com o parâmetro -H necessário;
  • A opção segura é usar TLS;
  • Gerando certificados SSL.

Para acesso seguro via rede, utilize TLS. Especifique os caminhos dos certificados ao iniciar o Docker:

dockerd \
-H=unix:///var/run/docker.sock \
-H=0.0.0.0:2376 \
--tlsverify \
--tlscacert=/etc/docker/ssl/ca.pem \
--tlscert=/etc/docker/ssl/server-cert.pem \
--tlskey=/etc/docker/ssl/server-key.pem

O que fazer se a API não funcionar?

  1. O Docker não está escutando na porta TCP. Verifique os argumentos de inicialização:
    ps aux | grep dockerd

    Certifique-se de que existe o parâmetro -H tcp://0.0.0.0:2375.

  2. A porta está bloqueada. Verifique o firewall:
    sudo ufw allow 2375/tcp
  3. O SELinux ou o AppArmor está bloqueando a conexão.
    Em sistemas com SELinux ou AppArmor, permissões adicionais podem ser necessárias.

A API do Docker é uma ferramenta poderosa para gerenciar contêineres, mas exige uma configuração cuidadosa. Jamais exponha a porta 2375 para redes públicas sem proteção. O ideal é utilizar TLS ou configurar um proxy seguro com HTTPS, como o Nginx.

Avaliação:
5 fora de 5
Аverage rating : 5
Avaliado por: 1
CEP 01311-930 São Paulo Avenida Paulista, nº 1765, 7º andar, Cj. 72, CV 10172, Bela Vista
+ 55 11 5118-1047
ITGLOBAL.COM BR LTDA

Você também pode gostar...

Usamos cookies para melhorar sua experiência no Serverspace. Ao continuar a navegar em nosso site, você concorda com o Uso de Cookies e com a Política de Privacidade.