English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Detalhamento da Configuração de Proxy de Rede Docker

Corpo

背景/etc/Em alguns laboratórios, os servidores não têm permissão para se conectar diretamente à internet e precisam de um proxy de rede. Normalmente, configuramos o proxy de rede diretamente em/etc/environment,

profile e outros arquivos de configuração, isso é viável para a maioria das operações. No entanto, os comandos docker não usam esses proxies.

 Por exemplo, ao usar docker pull para baixar imagens, pode aparecer o seguinte erro:-hello
$ docker pull hello-Não foi possível encontrar a imagem 'hello
world:latest' localmente/repositories/library-hello
Puxando repositório docker.io//docker: O tempo de rede expirou ao tentar conectar a https:/index.docker.io1/v/repositories/library-hello/world
images. Você pode querer verificar sua conexão de internet ou se você está por trás de um proxy.. --Veja 'docker run 

help'.16ps: Este artigo está no Ubuntu4.0

passou a teste em baixo.

Solução um:2375O daemon docker está escutando em todos os interfaces de rede. Parar o serviço docker, manualmente para usar

 $ systemctl stop docker.service
$ nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock & 

Solução dois:

edite o arquivo de configuração, no Ubuntu é/etc/default/docker, no CentOS é/etc/sysconfig/docker. No entanto, modificar esses dois arquivos para configurar o daemon já é desencorajado. Não é recomendado usar este método.

 HTTP_PROXY="http://[proxy-[proxy-port]/"
HTTPS_PROXY="https://[proxy-[proxy-port]/"
export HTTP_PROXY HTTPS_PROXY 

Solução três:

Este método é persistente, as mudanças serão aplicadas permanentemente. Este método sobrescreve o arquivo docker.service padrão.

1. Criar um diretório systemd embutido para o serviço docker

 $ mkdir -p /etc/systemd/system/docker.service.d 

2. Criar/etc/systemd/system/docker.service.d/http-proxy.conf arquivo, e adicione a variável de ambiente HTTP_PROXY.-[addr] e [proxy-port] alterar para o endereço e porta reais do proxy:

 [Service]
Environment="HTTP_PROXY=http://[proxy-[proxy-port]/"HTTPS_PROXY=https://[proxy-[proxy-port]/" 

3. Se ainda houver registries internas que não precisam usar proxy para acessar, então é necessário definir a variável de ambiente NO_PROXY:

 [Service]
Environment="HTTP_PROXY=http://[proxy-[proxy-port]/"HTTPS_PROXY=https://[proxy-[proxy-port]/"NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com" 

4. Atualizar configuração:

 $ systemctl daemon-reload 

5. Reiniciar o serviço Docker:

 $ systemctl restart docker

Isso é tudo o que há no artigo, esperamos que ajude no seu aprendizado e que você apoie o tutorial Yell.

Declaração: O conteúdo deste artigo é extraído da Internet, pertence ao respectivo proprietário, foi contribuído e carregado voluntariamente pelos usuários da Internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade legal relevante. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Caso seja confirmado, o site deletará imediatamente o conteúdo suspeito de violação de direitos autorais.)

Você Também Gostaria de Ver