Introdução
Neste laboratório, você aprenderá como gerenciar as configurações do Docker Model Runner usando o comando model-runner dentro do Docker Desktop. Abordaremos a habilitação do daemon Docker para escutar em uma porta TCP padrão, configurando-o para escutar em uma porta TCP personalizada e, finalmente, desabilitando a conexão TCP para o Docker Model Runner.
Através de passos práticos, você modificará o arquivo de configuração do daemon Docker (daemon.json) para controlar as interfaces de rede que o daemon escuta, reiniciará o serviço Docker para aplicar as alterações e entenderá as implicações de habilitar ou desabilitar conexões TCP para acesso remoto e segurança.
Habilitar o Docker Model Runner com a porta TCP padrão
Neste passo, aprenderemos como habilitar o daemon Docker para escutar conexões em uma porta TCP padrão. Por padrão, o daemon Docker se comunica via um socket Unix, o que é mais seguro para acesso local. No entanto, para acesso remoto ou casos de uso específicos, habilitar TCP pode ser necessário.
Para habilitar o daemon Docker a escutar em uma porta TCP, precisamos modificar seu arquivo de configuração. O arquivo de configuração principal para o Docker está tipicamente localizado em /etc/docker/daemon.json. Se este arquivo não existir, você pode criá-lo.
Primeiro, vamos verificar se o arquivo daemon.json existe. Podemos usar o comando ls para isso.
ls /etc/docker/daemon.json
Se o arquivo existir, o comando exibirá seu caminho. Se não existir, você verá uma mensagem de erro indicando que o arquivo ou diretório não foi encontrado.
Agora, vamos editar ou criar o arquivo /etc/docker/daemon.json usando o editor nano. Adicionaremos ou modificaremos a chave hosts para incluir o endereço e a porta TCP. A porta TCP padrão para o Docker é 2375 (não criptografada) ou 2376 (criptografada TLS). Para este passo, usaremos a porta não criptografada 2375 para simplificar.
Abra o arquivo com nano:
sudo nano /etc/docker/daemon.json
Se o arquivo estiver vazio ou não existir, adicione o seguinte conteúdo. Se o arquivo já tiver conteúdo, adicione ou modifique a chave hosts para incluir "tcp://0.0.0.0:2375". A entrada unix:///var/run/docker.sock garante que o daemon ainda escute no socket Unix padrão também.
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}
Após adicionar ou modificar o conteúdo, salve o arquivo pressionando Ctrl + X, depois Y para confirmar e Enter para escrever no nome do arquivo.
Para que as alterações entrem em vigor, você precisa reiniciar o serviço Docker. Podemos fazer isso usando o comando systemctl.
sudo systemctl restart docker
Após reiniciar o serviço Docker, você pode verificar se ele está escutando na porta TCP usando o comando ss para verificar os sockets escutando. Procuraremos um processo escutando na porta 2375.
sudo ss -tuln | grep 2375
Se o daemon Docker estiver escutando com sucesso na porta 2375, você deverá ver uma saída semelhante a esta, indicando um processo escutando nessa porta:
tcp LISTEN 0 4096 0.0.0.0:2375 0.0.0.0:*
Isso confirma que o daemon Docker agora está acessível via TCP na porta 2375.
Habilitar o Docker Model Runner com uma porta TCP personalizada
No passo anterior, habilitamos o daemon Docker para escutar na porta TCP padrão 2375. Neste passo, aprenderemos como configurar o daemon Docker para escutar em uma porta TCP personalizada em vez da padrão. Isso pode ser útil por razões de segurança ou para evitar conflitos de porta.
Novamente, modificaremos o arquivo /etc/docker/daemon.json. Mudaremos a porta TCP de 2375 para uma porta personalizada, por exemplo, 2376.
Abra o arquivo daemon.json usando o editor nano:
sudo nano /etc/docker/daemon.json
Modifique a chave hosts para alterar a porta TCP de 2375 para 2376. O conteúdo do arquivo agora deve ser semelhante a este:
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"]
}
Salve o arquivo pressionando Ctrl + X, depois Y para confirmar e Enter para escrever no nome do arquivo.
Após modificar a configuração, você precisa reiniciar o serviço Docker para que as alterações entrem em vigor.
sudo systemctl restart docker
Agora, vamos verificar se o daemon Docker está escutando na nova porta TCP personalizada 2376 e não está mais escutando na porta padrão 2375. Podemos usar o comando ss novamente.
Primeiro, verifique a porta 2376:
sudo ss -tuln | grep 2376
Você deve ver uma saída indicando que um processo está escutando na porta 2376:
tcp LISTEN 0 4096 0.0.0.0:2376 0.0.0.0:*
Em seguida, vamos confirmar que ele não está mais escutando na porta 2375:
sudo ss -tuln | grep 2375
Este comando não deve produzir nenhuma saída, indicando que o daemon Docker não está mais escutando na porta 2375.
Isso confirma que configuramos com sucesso o daemon Docker para escutar em uma porta TCP personalizada.
Desativar a conexão TCP para o Docker Model Runner
Nos passos anteriores, habilitamos o daemon Docker para escutar em uma porta TCP padrão e, em seguida, em uma porta personalizada. Embora habilitar TCP possa ser útil para acesso remoto, é geralmente mais seguro desabilitá-lo quando não for necessário e confiar no socket Unix padrão para comunicação local.
Neste passo, aprenderemos como desabilitar a conexão TCP para o daemon Docker removendo a entrada do host TCP do arquivo de configuração.
Novamente, modificaremos o arquivo /etc/docker/daemon.json usando o editor nano.
Abra o arquivo daemon.json:
sudo nano /etc/docker/daemon.json
Modifique a chave hosts para remover a entrada TCP ("tcp://0.0.0.0:2376" ou "tcp://0.0.0.0:2375", dependendo do passo anterior). O conteúdo do arquivo agora deve incluir apenas a entrada do socket Unix:
{
"hosts": ["unix:///var/run/docker.sock"]
}
Salve o arquivo pressionando Ctrl + X, depois Y para confirmar e Enter para escrever no nome do arquivo.
Após modificar a configuração, você precisa reiniciar o serviço Docker para que as alterações entrem em vigor.
sudo systemctl restart docker
Agora, vamos verificar se o daemon Docker não está mais escutando em nenhuma porta TCP. Podemos usar o comando ss e verificar as portas 2375 e 2376.
Verifique a porta 2375:
sudo ss -tuln | grep 2375
Este comando não deve produzir nenhuma saída.
Verifique a porta 2376:
sudo ss -tuln | grep 2376
Este comando também não deve produzir nenhuma saída.
Isso confirma que desabilitamos com sucesso a conexão TCP para o daemon Docker. O daemon agora é acessível apenas via o socket Unix padrão, que é a configuração padrão mais segura para acesso local.
Resumo
Neste laboratório, aprendemos como gerenciar as configurações do Docker Model Runner, habilitando e desabilitando as conexões TCP para o daemon Docker. Começamos habilitando o daemon Docker para escutar na porta TCP padrão 2375, modificando o arquivo de configuração /etc/docker/daemon.json para incluir "tcp://0.0.0.0:2375" no array hosts e, em seguida, reiniciando o serviço Docker.
O laboratório também aborda como habilitar o daemon Docker com uma porta TCP personalizada e como desabilitar completamente as conexões TCP, removendo a entrada TCP do array hosts no arquivo daemon.json e reiniciando o serviço Docker. Essas etapas demonstram como configurar a acessibilidade de rede do Docker para diferentes casos de uso.



