6
respostas

Eu não consigo conectar meu container à internet usando a newtwork que eu criei

Quando eu uso o comando:

docker run -it --name ubuntu1 --network minha-bridge ubuntu bash 

e apt-get update, ele simplemente não consegue se conectar à internet.

root@aecc0b73a1ec:/# apt-get update
Ign:1 http://security.ubuntu.com/ubuntu jammy-security InRelease                        
Ign:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease             
Ign:1 http://security.ubuntu.com/ubuntu jammy-security InRelease            
Ign:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease            
Ign:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Err:1 http://security.ubuntu.com/ubuntu jammy-security InRelease           
  Connection failed [IP: 91.189.91.83 80]
Ign:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease

Só muda se eu me conectar ao host:

docker run -it --name ubuntu1 --network host ubuntu bash
Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]                  
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]        
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:4 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [2067 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
Get:8 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1641 kB]      
Get:9 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [44.6 kB] 
Get:10 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1081 kB]
Get:11 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]                 
Get:12 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [61.2 kB]
Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1920 kB]
Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [2104 kB]
Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1357 kB]
Get:17 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [33.3 kB]
Get:18 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [80.9 kB]
Fetched 30.7 MB in 7s (4102 kB/s)                                                                               
Reading package lists... Done

Por que não funciona na rede qu eue criei?

6 respostas

Oii, Vinícius, tudo bem?

Você pode verificar se a rede minha-bridge está configurada para fornecer acesso à internet aos containers, por favor?

Você pode fazer isso inspecionando a rede com o comando docker network inspect minha-bridge. Isso deve fornecer algumas informações sobre a configuração da rede, incluindo se ela tem acesso à internet.

Se a dúvida persistir, estamos disponíveis.

Abraços e bons estudos! ^_^

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Em que local estaria indicando isso?

work inspect minha-bridge
[
    {
        "Name": "minha-bridge",
        "Id": "f7450069c8e153e8e2d3fee4da7cf87e0daa7fb970c2aa0b8b6afaae0ef61055",
        "Created": "2024-04-01T19:26:36.294462481-03:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]

Estou com a mesma situação. Criei a rede bridge, criei dois containers atribuindo a rede criada, porém, ao tentar baixar o pacote de teste de conexão (inputils-ping), nenhum dos containers tem acesso a internet. O comando network inspect retorna o mesmo conteúdo postado por @Vinicius, com a diferença que a seção "Containers":{} contem os dois containers que criei. Cada um com endereço IP e MAC Address diferente, mesmo gateway, mesma rede, porém, não funciona. Não compreendi como o tutor do vídeo conseguu instalar o pacote de ping. Está parecendo que a rede bridge criada está isolada da web. Alguém poderia dar uma atenção nesse detalhe, por gentileza?

Oii, pessoal. Perdão a demora.

@Vinícius, na parte dos containers aparece "Containers": {}, ou seja, não há containers sendo utilizados pela sua rede. Para conectar um container à sua rede, você pode utilizar o comando docker network connect minha-bridge NOME_DO_CONTAINER.

Substitua o NOME_DO_CONTAINER pelo nome do container que você deseja conectar à rede.

Após executar esse comando, você pode verificar se o container foi conectado à rede utilizando o mesmo comando que citei anteriormente, na primeira resposta. Na saída, provavelmente o container deve sair dentro do "Containers": {} :)


@Luiz, você pode instalar diretamente o pacote de ping com o apt-get (se for Debian/Ubuntu) ou o yum (se for Red Hat/CentOS).

Inclusive, você pode, por favor, abrir um tópico para o seu bug? Assim conseguismo te ajudar com mais assertividade.

Abraços!

@Maria, como disse, ambos containers foram conectados a rede bridge que criei (com driver bridge), porém, não consigo instalar nenhum pacote, nem mesmo atualizar repositorios nos containers, não há conexão com a web. Parece que a rede bridge que criei está totalmente isolada do host e da web. Obs: segui os mesmo passos do vídeo, imagem ubuntu, etc.

parece estranho, mas refiz os passos exatamente da mesma forma, e agora funcionou.