docker вытащить изображение внутри контейнера не удается с таймаутом - PullRequest
1 голос
/ 02 марта 2020

Я использую docker -композицию, которая имеет 3 службы. Мой основной сервис зависит от сервиса изображений, который зависит от dind-сервиса

  service-1:
    image: 'someimage'
    privileged: true
    ports:
      - '8911:8911'
    environment:
      - docker-compose=true
    volumes:
      - scratch:/tmp/scratch
      - bundles:/tmp/bundles:ro
    command: http-compile
    depends_on:
      - img

  img-service:
    image: 'img'
    privileged: true
    ports:
      - '8909:8909'
    environment:
      - DOCKER_HOST=tcp://dind-img:2375
    volumes:
      - bundles:/tmp/bundles
      - ./deploy/path/to/config.json:/etc/config.json
    command: runc-setup
    depends_on:
      - dind-img

  dind-service:
    image: docker:18-dind
    privileged: true
    volumes:
      - execimages:/var/lib/docker
      - tmp:/tmp

Все эти сервисные образы создаются локально, но один из сервисов извлекает другие изображения (например, языковые среды выполнения, например, Go) от net и строит их локально внутри контейнера.

Но при получении изображения я получаю ошибки тайм-аута, и из-за этого мой сервис, который зависит от двух других сервисов, выходит из строя.

Я делал это со своего рабочего места, и я пытался увидеть, если мы настроил прокси, но запуск команды env | grep proxy ничего не дал.

Так что, скорее всего, это не проблема сети, может быть, что-то связано с моей docker -настройкой.

ребята на моем рабочем месте, которые разрабатывают этот проект на Ma c, никогда не сталкивались с этим проблема с docker pull. Я нахожусь на Ubuntu 18.04

Я запустил сценарий оболочки из реполя docker, чтобы проверить конфигурацию, чтобы проверить, что пропало, и это были все недостающие результаты. Являются ли какие-либо из них причиной проблемы?

CONFIG_NF_NAT_IPV4: missing
CONFIG_NF_NAT_NEEDED: missing
CONFIG_MEMCG_SWAP_ENABLED: missing
CONFIG_IOSCHED_CFQ: missing
CONFIG_CFQ_GROUP_IOSCHED: missing
CONFIG_RT_GROUP_SCHED: missing
CONFIG_INET_XFRM_MODE_TRANSPORT: missing
zfs command: missing
zpool command: missing

1 Ответ

0 голосов
/ 03 мая 2020

Проверьте свои журналы, чтобы увидеть, видите ли вы что-то вроде этого:

[0683] Handler for POST /images/create returned error: Get https://registry-1.docker.io....: dial tcp: lookup registry-1.docker.io on 8.8.8.8:53: read udp 192.168.0.163:32769->8.8.8.8:53: read: connection refused (or timeout)

Это говорит о том, что запрос DNS запускается из эфемерного порта на вашей Ubuntu, а DNS-серверы либо таймаут, либо отклоняют запрос.

Вместо этого добавьте ваш локальный кэш / сервер DNS в качестве основного на resol.conf, например, cat /etc/resolv.conf

nameserver 192.168.0.1
nameserver 8.8.8.8
....

Тогда ваше docker извлечение должно работать успешно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...