وصف
أتلقى خطأ عندما أقوم بإنشاء خدمة في كتلة سرب مع صورة مستضافة في مستودع خاص على مركز عامل ميناء.
الخدمة تعمل ، إنها رسالة الخطأ التي تتم طباعتها في كل مرة أقوم فيها بإنشاء خدمة.
خطوات إعادة إظهار المشكلة:
صِف النتائج التي تلقيتها:
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 والمادية وما إلى ذلك):
اللازوردية ، باستخدام آلة عامل ميناء
هذا متوقع. عند إنشاء خدمة ، لا يقوم عامل التحميل بنقل بيانات الاعتماد الخاصة بك تلقائيًا. يعد تمرير بيانات الاعتماد / معلومات المصادقة إجراءً واضحًا (حسب التصميم) ، حيث سيتم تخزين بيانات الاعتماد هذه في السرب ، وسيتم توزيعها على العقد التي يتم نشر الخدمة عليها.
لتمرير بيانات الاعتماد ، استخدم الخيار --with-registry-auth
عند إنشاء الخدمة ، أو _تحديث_ معلومات المصادقة على خدمة موجودة ( docker service update --with-registry-auth
).
لا أعتقد أن هناك خطأ هنا ، ولكن يرجى إعلامي إذا نجح ذلك ، أو إذا كنت لا تزال تواجه مشكلات
wrt Pull the image on the server
، ثم انشر ؛ وضع السرب "دبابيس" الصور إلى خلاصتها ، لذا تأكد من أن جميع مثيلات خدمتك تعمل _ بالضبط _ نفس الإصدار من صورتك. لهذا ، سيتصل بالسجل ويحل "الملخص" (العلامة غير القابلة للتغيير). لهذا ، فإنه يحتاج إلى الوصول إلى التسجيل. إذا فشل حل الملخص ، فسيعود عامل الإرساء إلى استخدام image:tag
الذي قدمته عند إنشاء الخدمة ، واستخدام صورة محلية (إن وجدت) ؛ راجع https://github.com/docker/docker/issues/31518
سأمضي قدمًا وأغلق هذه المشكلة ، لكن لا تتردد في مواصلة المناقشة إذا كنت بحاجة إلى مزيد من المعلومات 👍
التعليق الأكثر فائدة
هذا متوقع. عند إنشاء خدمة ، لا يقوم عامل التحميل بنقل بيانات الاعتماد الخاصة بك تلقائيًا. يعد تمرير بيانات الاعتماد / معلومات المصادقة إجراءً واضحًا (حسب التصميم) ، حيث سيتم تخزين بيانات الاعتماد هذه في السرب ، وسيتم توزيعها على العقد التي يتم نشر الخدمة عليها.
لتمرير بيانات الاعتماد ، استخدم الخيار
--with-registry-auth
عند إنشاء الخدمة ، أو _تحديث_ معلومات المصادقة على خدمة موجودة (docker service update --with-registry-auth
).لا أعتقد أن هناك خطأ هنا ، ولكن يرجى إعلامي إذا نجح ذلك ، أو إذا كنت لا تزال تواجه مشكلات