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