изображение докера создает сбои команды с “(Клиент. Тайм-аут превысил при ожидании заголовков)”

Я плохо знаком с докером и Ubuntu 16.04 ОС также. Моя конфигурация следующие:

Ubuntu:

$lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 16.04.5 LTS

Release:    16.04

Codename:   xenial

Докер:

$ docker info

Containers: 2

 Running: 0

 Paused: 0

 Stopped: 2

Images: 5

Server Version: 18.09.0

Storage Driver: overlay2

 Backing Filesystem: extfs

 Supports d_type: true

 Native Overlay Diff: true

Logging Driver: json-file

Cgroup Driver: cgroupfs

Plugins:

 Volume: local

 Network: bridge host macvlan null overlay

 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk 
syslog

Swarm: inactive

Runtimes: runc

Default Runtime: runc

Init Binary: docker-init

containerd version: c4446665cb9c30056f4998ed953e6d4ff22c7c39

runc version: 4fc53a81fb7c994640722ac585fa9ca548971871

init version: fec3683

Security Options:

 apparmor

 seccomp

  Profile: default

Kernel Version: 4.15.0-42-generic

Operating System: Ubuntu 16.04.5 LTS

OSType: linux

Architecture: x86_64

CPUs: 4

Total Memory: 15.4GiB

Name: smarthi-ORADEV

ID: 3OIT:CLN4:HNUU:W4SG:Z6OZ:NRRV:WSSN:E7PO:A2ZZ:XGYI:CXUZ:VBUD

Docker Root Dir: /var/lib/docker

Debug Mode (client): false

Debug Mode (server): false

Username: bluesangig

Registry: https://index.docker.io/v1/

Labels:

Experimental: false

Insecure Registries:

 127.0.0.0/8

Live Restore Enabled: false

Product License: Community Engine

WARNING: No swap limit support

Я - подключение к офисной сети VPN, и все мои доступы к офису и Интернету хорошо работают с моей Сетевой конфигурацией прокси, реализованной в моем ноутбуке.

Даже docker container run команды также хорошо работают.

Но когда я пытаюсь сделать docker image build использование файла докера, содержание которого:

ОТ busybox ВЫПОЛНЕННОЕ эхо "создание простого докера отображает" CMD [эхо, "привет контейнер"]

Я добираюсь ниже сообщения об ошибке:

$ docker image build -t testimg .
Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM busybox
Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Я искал немного и нашел, что мы, возможно, должны установить прокси в ~/.docker/config.json файл, и я добавил записи прокси, как упомянуто в проблеме

Даже после добавления записей, как предложено в вышеупомянутой проблеме, я все еще сталкиваюсь с той же проблемой.

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

2
задан 6 December 2018 в 18:27

2 ответа

После большого количества следа и ошибки и партии поиска с помощью Google... наконец я смог заставить докера работать позади моего офиса VPN.

И в пользу людей, которые могли бы сталкиваться с проблемой, подобной моему, ниже шаги, которые я выполнил для решения вопроса:

Три различных места, где я изменил значение прокси и это зафиксировало проблему.

  1. /etc/systemd/system/docker.service.d/http-proxy.conf: Проверьте, существует ли этот файл в Вашей установке, и если это не создает этот файл и работает ниже шагов:
    • Откройте файл и добавьте ниже операторов в нем и сохраните
      - [Сервис]
      - Среда = "HTTP_PROXY=http://proxyHost:proxyPort"
      - Среда = "HTTPS_PROXY=http://proxyHost:proxyPort"
      - Среда = "NO_PROXY=localhost, 127.0.0.1"
    • Сбросьте вышеупомянутые изменения путем выполнения ниже команды
      - sudo systemctl перезагрузка демона
    • Проверьте, что вышеупомянутые изменения были внесены влияние путем выполнения ниже commnad. Это должно распечатать значение Переменной среды
      - система sudo ctl шоу - докер свойства Environment
    • После того как Вы успешно проверяете, что переменная установлена, перезапустите услуги докера путем выполнения ниже команды:
      - sudo systemctl перезапускают докера
  2. ~/.docker/config.json: Добавьте ниже json свойства к существующим свойствам в файле
    - "прокси": {
    -  "значения по умолчанию": {
    -    "httpProxy": "http://proxyHost:proxyPort",
    -    "httpsProxy": "http://proxyHost:proxyPort"
    -   }
    - }
  3. /etc/default/docker: Откройте или создайте этот файл с ниже содержания в нем:
    - экспортируйте http_proxy ='http://proxyHost:proxyPort'
    - экспортируйте https_proxy ='http://proxyHost:proxyPort'


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

Примечание: Все вышеупомянутые изменения не могут требоваться, но для меня выше изменений удостоверился, что докер работает после того, как я соединяюсь со своей VPN.

4
ответ дан 2 December 2019 в 02:12

В файле /etc/default/docker, добавьте:

export http_proxy='http://<host>:<port>'
export https_proxy='http://<host>:<port>'

Докер перезапуска

sudo service docker restart
0
ответ дан 2 December 2019 в 02:12

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

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