Moby: Pesan kesalahan pada pembuatan layanan dengan gambar yang dihosting di repositori pribadi

Dibuat pada 30 Mar 2017  ·  3Komentar  ·  Sumber: moby/moby

Keterangan

Saya mendapatkan kesalahan setiap kali saya membuat layanan di swarm cluster dengan gambar yang di-host di repositori pribadi di hub buruh pelabuhan.
Layanan berfungsi, hanya pesan kesalahan yang dicetak setiap kali saya membuat layanan.

Langkah-langkah untuk mereproduksi masalah:

  1. Buat repositori pribadi di hub buruh pelabuhan
  2. Buat gerombolan gerombolan
  3. Masuk ke buruh pelabuhan
  4. Tarik gambar di server
  5. Buat layanan dengan gambar

Jelaskan hasil yang Anda terima:

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

Jelaskan hasil yang Anda harapkan:
Tidak ada pesan kesalahan

Keluaran dari 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

Keluaran dari 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

Detail lingkungan tambahan (AWS, VirtualBox, fisik, dll.):
biru, menggunakan mesin buruh pelabuhan

areswarm kinquestion statumore-info-needed versio17.03

Komentar yang paling membantu

Ini diharapkan; saat membuat layanan, buruh pelabuhan tidak secara otomatis meneruskan kredensial Anda. Melewati informasi kredensial / otentikasi adalah tindakan eksplisit (berdasarkan desain), karena kredensial tersebut akan disimpan di swarm, dan didistribusikan ke node tempat layanan disebarkan.

Untuk meneruskan kredensial, gunakan opsi --with-registry-auth saat membuat layanan, atau untuk _memperbarui_ informasi otentikasi pada layanan yang ada ( docker service update --with-registry-auth ).

Saya rasa tidak ada bug di sini, tetapi beri tahu saya jika itu berhasil, atau jika Anda masih mengalami masalah

Semua 3 komentar

Ini diharapkan; saat membuat layanan, buruh pelabuhan tidak secara otomatis meneruskan kredensial Anda. Melewati informasi kredensial / otentikasi adalah tindakan eksplisit (berdasarkan desain), karena kredensial tersebut akan disimpan di swarm, dan didistribusikan ke node tempat layanan disebarkan.

Untuk meneruskan kredensial, gunakan opsi --with-registry-auth saat membuat layanan, atau untuk _memperbarui_ informasi otentikasi pada layanan yang ada ( docker service update --with-registry-auth ).

Saya rasa tidak ada bug di sini, tetapi beri tahu saya jika itu berhasil, atau jika Anda masih mengalami masalah

wrt Pull the image on the server , lalu sebarkan; Mode gerombolan "menyematkan" gambar ke intisarinya, jadi pastikan bahwa semua instance layanan Anda menjalankan _persis_ versi gambar Anda yang sama. Untuk ini, ia akan menghubungi registri, dan menyelesaikan "intisari" (tag yang tidak dapat diubah). Untuk ini, perlu akses ke registri. Jika penyelesaian intisari gagal, buruh pelabuhan akan kembali menggunakan image:tag Anda berikan saat membuat layanan, dan menggunakan gambar lokal (jika ada); lihat https://github.com/docker/docker/issues/31518

Saya akan melanjutkan dan menutup masalah ini, tetapi jangan ragu untuk melanjutkan diskusi jika Anda memerlukan informasi lebih lanjut 👍

Apakah halaman ini membantu?
0 / 5 - 0 peringkat