Rede none da prática
Last updated
Last updated
Este tipo de rede não estará ligado a nenhuma rede. Um container ligado a este tipo de rede estará totalmente isolado. Ele não possuirá interface de rede:
Criação de container com o tipo de rede none
:
$ docker container run -it --network=none ubuntu /bin/bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
31e907dcc94a: Already exists
Digest: sha256:8a37d68f4f73ebf3d4efafbcf66379bf3728902a8038616808f04e34a9ab63ee
Status: Downloaded newer image for ubuntu:latest
root@f3cc92031283:/#
O container não possui nenhuma interface de rede:
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f3cc92031283 ubuntu "/bin/bash" 38 seconds ago Up 38 seconds peaceful_hertz
$ docker container inspect f3cc92031283
...
"Networks": {
"none": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "",
"DriverOpts": null,
"NetworkID": "9198ba9fc6fd5f0ef9c57cbab89264d9bc4a3266c3fc130f219af14de207f39e",
"EndpointID": "87108ca401c53e7438d027ca19b2303b1e789eb0b178d33440f02d46897da6ec",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": null
}
}
...
Se for executado o comando apt-update
ele não funcionará, pois não existe nenhuma conexão, sequer com a Internet:
root@f3cc92031283:/# apt update
Ign:1 http://security.ubuntu.com/ubuntu noble-security InRelease
Ign:2 http://archive.ubuntu.com/ubuntu noble InRelease
Ign:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Ign:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Ign:2 http://archive.ubuntu.com/ubuntu noble InRelease
Ign:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Ign:1 http://security.ubuntu.com/ubuntu noble-security InRelease
Ign:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Ign:2 http://archive.ubuntu.com/ubuntu noble InRelease
Ign:1 http://security.ubuntu.com/ubuntu noble-security InRelease
Ign:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Ign:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Err:2 http://archive.ubuntu.com/ubuntu noble InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:1 http://security.ubuntu.com/ubuntu noble-security InRelease
Temporary failure resolving 'security.ubuntu.com'
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/noble/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/noble-updates/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/noble-backports/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/noble-security/InRelease Temporary failure resolving 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
O container está isolado sem conexão com nenhuma rede.
Qual o objetivo de executar o container que não possui conectividade? Resposta(s)
Executar um contêiner Docker com o tipo de rede none
tem algumas finalidades específicas, principalmente relacionadas à segurança, isolamento e testes controlados. Aqui estão alguns cenários em que isso pode ser útil:
Ao utilizar o tipo de rede none
, o contêiner não tem acesso a nenhuma interface de rede, o que proporciona um isolamento completo de qualquer comunicação externa.
Isso é particularmente útil em cenários onde você deseja que o contêiner execute tarefas sem qualquer risco de interagir com outros contêineres, o host ou a internet. Por exemplo, para rodar scripts de manutenção ou processamento de dados que não requerem conectividade de rede.
Pode ser usado para testar a funcionalidade de uma aplicação em um ambiente completamente isolado, verificando como ela se comporta sem qualquer acesso à rede.
Isso pode ajudar a identificar dependências de rede inadvertidas ou comportamentos indesejados que dependem de comunicação externa.
Em alguns cenários de testes ou processamento de dados, é necessário garantir que um contêiner execute exatamente da mesma maneira, independentemente do estado da rede. Usar o tipo de rede none
pode garantir essa consistência, eliminando variações causadas por latência de rede ou falhas de conectividade.
Para contêineres que lidam com dados sensíveis ou executam funções críticas que não necessitam de conectividade de rede, usar none
pode minimizar a superfície de ataque, evitando que o contêiner seja alvo de ataques de rede.
none
:docker run --rm --network none <imagem>
Processamento de Dados Offline:
Se você tem um contêiner que apenas processa arquivos locais e não precisa de acesso à rede, executá-lo com --network none
garante que ele funcione isolado.
Execução de Scripts de Manutenção:
Scripts que realizam tarefas como limpeza de arquivos, reorganização de diretórios, ou compactação de logs podem ser executados sem rede, evitando interferências externas.
Esse tipo de configuração é valiosa em ambientes onde a segurança e o controle estrito sobre o comportamento do contêiner são essenciais.