Moby: Сообщение об ошибке при создании службы с изображением, размещенным в частном репозитории

Созданный на 30 мар. 2017  ·  3Комментарии  ·  Источник: moby/moby

Описание

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

Действия по воспроизведению проблемы:

  1. Создайте частный репозиторий в Docker Hub
  2. Создать кластер роя
  3. Войти в докер
  4. Вытащить образ на сервер
  5. Создать сервис с изображением

Опишите полученные результаты:

unable to pin image organization/some-image to digest: errors:
denied: requested access to the resource is denied
unauthorized: authentication required

Опишите ожидаемые результаты:
Нет сообщения об ошибке

Вывод docker version :

Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Fri Mar 24 00:45:26 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Fri Mar 24 00:45:26 2017
 OS/Arch:      linux/amd64
 Experimental: false

Вывод docker info :

Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 3
Server Version: 17.03.1-ce
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 33
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: active
 NodeID: omkzmqvpztv77kkg4j7w6dhj9
 Is Manager: true
 ClusterID: zpzn4xvqs6h5drt29423a7wr6
 Managers: 1
 Nodes: 2
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: x.x.x.x
 Manager Addresses:
  x.x.x.x:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 4ab9917febca54791c5f071a9d1f404867857fcc
runc version: 54296cf40ad8143b62dbcaa1d90e520a2136ddfe
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-70-generic
Operating System: Ubuntu 16.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.66 GiB
Name: name
ID: CMZP:AJOT:ELIE:T4NT:52JS:A6U6:LYE4:DNPW:LCJB:R2UR:XO3K:CDP6
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: intezerdev
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Labels:
 size=f8
 provider=azure
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

Дополнительные сведения о среде (AWS, VirtualBox, физическая и т. Д.):
лазурный, используя докер-машину

areswarm kinquestion statumore-info-needed versio17.03

Самый полезный комментарий

Это ожидается; при создании службы докер не передает ваши учетные данные автоматически. Передача учетных данных / информации аутентификации является явным действием (по замыслу), поскольку эти учетные данные будут храниться в рое и распространяться на узлы, на которых развернута служба.

Чтобы передать учетные данные, используйте параметр --with-registry-auth при создании службы или _обновите_ информацию аутентификации для существующей службы ( docker service update --with-registry-auth ).

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

Все 3 Комментарий

Это ожидается; при создании службы докер не передает ваши учетные данные автоматически. Передача учетных данных / информации аутентификации является явным действием (по замыслу), поскольку эти учетные данные будут храниться в рое и распространяться на узлы, на которых развернута служба.

Чтобы передать учетные данные, используйте параметр --with-registry-auth при создании службы или _обновите_ информацию аутентификации для существующей службы ( docker service update --with-registry-auth ).

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

wrt Pull the image on the server , затем развернуть; Режим Swarm "прикрепляет" изображения к их дайджесту, поэтому гарантируйте, что все экземпляры вашего сервиса будут запускать _точно_ одну и ту же версию вашего изображения. Для этого он свяжется с реестром и разрешит «дайджест» (неизменяемый тег). Для этого ему нужен доступ к реестру. Если разрешение дайджеста не удалось, докер вернется к использованию image:tag вы указали при создании службы, и будет использовать локальный образ (если он существует); см. https://github.com/docker/docker/issues/31518

Я закрою этот вопрос, но не стесняйтесь продолжить обсуждение, если вам понадобится дополнительная информация 👍

Была ли эта страница полезной?
0 / 5 - 0 рейтинги