Что такое неправильная конфигурация DNS в докере?

Я недавно установил докер на мою Ubuntu 16.04. Я успешно вытащил и запустил образы hello-world, ubuntu и sinatra, но я думаю, что они не могут подключиться к Интернету !!

Пример выдачи следующих ошибок

1 , На изображении 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. И это на sinatra

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


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

Так что я гуглил по этому поводу, люди говорят о проблеме конфигурации DNS , которая делает изображение неспособным разрешить домен имя.

Решение такой проблемы состоит в том, чтобы изменить файл / etc / default / docker и изменить правильный доступный IP-адрес DNS так:

  1. захватил IP-адреса DNS с помощью сетевого администратора:

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

Взял DNS ips: 10.10.10.11 и 10.10.10.10

  1. Отредактировал файл так, чтобы он был:

      # 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

       sudo service docker restart
    
  3. повторил попытку apt-get update для образа ubuntu и ping google.com выдают те же ошибки

Есть идеи для этой проблемы?

Спасибо.

3
задан 30 June 2016 в 22:17

0 ответов

Другие вопросы по тегам:

Похожие вопросы: