O que é minha configuração incorreta de DNS no docker?

0

Eu instalei recentemente o docker no meu Ubuntu 16.04. Eu puxei e executei as imagens hello-world, ubuntu e sinatra com sucesso, mas elas não podem se conectar à internet, eu acho!

Exemplo os seguintes erros são lançados

1. Na imagem do Ubuntu:

 ali@ali-Satellite-M645:~$ sudo docker run ubuntu apt-get update


  Err:1 'http://archive.ubuntu.com/ubuntu xenial InRelease'
   Temporary failure resolving 'archive.ubuntu.com'

 Err:2 'http://archive.ubuntu.com/ubuntu xenial-updates' InRelease
  Temporary failure resolving 'archive.ubuntu.com'

 Err:3 'http://archive.ubuntu.com/ubuntu xenial-security' InRelease
  Temporary failure resolving 'archive.ubuntu.com'

 Reading package lists...

 W: Failed to fetch 'http://archive.ubuntu.com/ubuntu/dists/xenial/InRelease'  Temporary failure resolving 'archive.ubuntu.com'

 W: Failed to fetch 'http://archive.ubuntu.com/ubuntu/dists/xenial-updates/InRelease'  Temporary failure resolving 'archive.ubuntu.com'

 W: Failed to fetch 'http://archive.ubuntu.com/ubuntu/dists/xenial-security/InRelease'  Temporary failure resolving 'archive.ubuntu.com'

 W: Some index files failed to download. They have been ignored, or old ones used instead.

2. E isso em sinatra

   ali@ali-Satellite-M645:~$ docker run -i -t  training/sinatra

   root@fd5c3656dd0b:/# ping google.com
   ping: unknown host google.com
   root@fd5c3656dd0b:/# 

Então pesquisei por isso, as pessoas estão falando sobre um problema de configuração do DNS que torna a imagem incapaz de resolver o nome do domínio.

A solução para esse problema é alterar o arquivo / etc / default / docker e colocar um ip DNS correto disponível para:

  1. pegou os DNS ips usando o gerenciador de rede:

    nmcli dev show | grep DNS | sed 's/\s\s*/\t/g' | cut -f 2
    

Tomou os DNS ips: 10.10.10.11 e 10.10.10.10

  1. Editou o arquivo para ser assim:

      # Docker Upstart and SysVinit configuration file  
      #
      # THIS FILE DOES NOT APPLY TO SYSTEMD
      #
      #   Please see the documentation for "systemd drop-ins":
      #   https://docs.docker.com/engine/articles/systemd/
    
      # Customize location of Docker binary (especially for development testing).
      #DOCKER="/usr/local/bin/docker"
      # Use DOCKER_OPTS to modify the daemon startup options.
      DOCKER_OPTS="--dns 10.10.10.11 --dns 10.10.10.10 --dns 8.8.8.8"
    
      # If you need Docker to use an HTTP proxy, it can also be  specified here.
      #export http_proxy="http://127.0.0.1:3128/"
    
      # This is also a handy place to tweak where Docker's temporary files go.
      #export TMPDIR="/mnt/bigdrive/docker-tmp"
    
  2. Docker reiniciado

       sudo service docker restart
    
  3. nova tentativa de atualização do apt-get na imagem do Ubuntu e no ping google.com os mesmos erros são lançados

Alguma ideia para este problema?

Obrigado.

    
por Ali Aboud 28.06.2016 / 18:01

0 respostas