Я недавно установил докер на мою 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. А это по синатре

   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. захватил DNS ips с помощью сетевого менеджера:

    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. Перезапущенный Докер

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

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

Благодарю.

0