أحاول إنشاء سجل عامل ميناء خاص باتباع هذا الدليل. لقد قمت بتنزيل ووضع علامة على صورة أوبونتو وإنشاء حاوية تسجيل والآن أنوي دفعها إلى السجل الخاص بي ، ولكن عندما أتصل sudo docker push localhost:6000/Ubuntu
أحصل على الإخراج التالي:
The push refers to a repository [localhost:6000/ubuntu]Put http://localhost:6000/v1/repositories/ubuntu/: http: can't write HTTP request on broken connection
كل ما كنت قادرا على العثور عليه هو أن الخطأ "لا يمكن كتابة طلب هتب" هو خطأ الذهاب ، ولكن للأسف لم أتمكن من العثور على أي شيء يتعلق كيف يمكنني حلها في عامل الميناء. لقد حاولت أيضا العثور على سجلات لأوامر عامل الميناء حتى أتمكن من محاولة الحصول على مزيد من التفاصيل حول هذه المسألة ، ولكن يبدو أن السجلات متاحة فقط للحاويات ، وأنا لا أقوم بتشغيل هذا على حاوية.
كيف يمكنني الذهاب نحو حل هذا الخطأ?
تحديث
أنا فقط ركض الأمر مرة أخرى بعد تغيير أي شيء وحصلت على خطأ مختلف:
Put http://localhost:6000/v1/repositories/ubuntu/: read tcp [::1]:33417->[::1]:6000: read: connection reset by peer
تحديث2
ومرة أخرى ، ركض بعد تغيير أي شيء ، وأنا الآن الحصول على:
Put http://localhost:6000/v1/repositories/ubuntu/: EOF
تحديث3
بعد العبث قليلا ، وجدت أن الصورة التي حاولت دفعها إلى السجل الخاص بي تظهر في قائمة صور عامل الإرساء ، ولكن لا يبدو أنني قادر على سحبها.
تحديث4
بعد العبث أكثر قليلا ، يبدو أن المنفذ الذي قمت بتعيينه إلى السجل الخاص بي هو الاستماع فقط على إيبف 6 ، بدلا من إيبف 4. وفقا ل هذا جيت الموضوع، فمن الطبيعي لعامل الميناء أن يبدو وكأنه يستمع فقط على إيبف 6 ، ولكن بعد تشغيل telnet localhost
, netstat -ntlp
، و iptables -t nat -nxvL
، ما زلت لا أرى أي مؤشر على أن أي شيء يستمع على 127.0.0.1:6000 ، وهو المنفذ الذي يجب تعيين السجل الخاص بي (الذي يعمل فقط كحاوية). بدلا من ذلك ، يبدو أن الاستماع على :::1:6000.
أيضا ، لأنه كان مطلوبا ولأنه كان يجب أن أدرجه بغض النظر:
user@devstack01:~$ sudo docker versionClient: Version: 1.10.3 API version: 1.22 Go version: go1.5.3 Git commit: 20f81dd Built: Thu Mar 10 15:54:52 2016 OS/Arch: linux/amd64Server: Version: 1.10.3 API version: 1.22 Go version: go1.5.3 Git commit: 20f81dd Built: Thu Mar 10 15:54:52 2016 OS/Arch: linux/amd64
تحديث5
سجلات حاوية التسجيل:
time="2016-04-04T18:34:22Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.5.3 instance.id=25b8dd5a-f154-455b-84ad-3dd61ccf04e0 version=v2.3.1time="2016-04-04T18:34:22Z" level=info msg="redis not configured" go.version=go1.5.3 instance.id=25b8dd5a-f154-455b-84ad-3dd61ccf04e0 version=v2.3.1time="2016-04-04T18:34:22Z" level=info msg="Starting upload purge in 58m0s" go.version=go1.5.3 instance.id=25b8dd5a-f154-455b-84ad-3dd61ccf04e0 version=v2.3.1time="2016-04-04T18:34:22Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.5.3 instance.id=25b8dd5a-f154-455b-84ad-3dd61ccf04e0 version=v2.3.1time="2016-04-04T18:34:22Z" level=info msg="listening on [::]:5000" go.version=go1.5.3 instance.id=25b8dd5a-f154-455b-84ad-3dd61ccf04e0 version=v2.3.1time="2016-04-04T19:32:22Z" level=info msg="PurgeUploads starting: olderThan=2016-03-28 19:32:22.890256531 +0000 UTC, actuallyDelete=true"time="2016-04-04T19:32:22Z" level=info msg="Purge uploads finished. Num deleted=0, num errors=1"time="2016-04-04T19:32:22Z" level=info msg="Starting upload purge in 24h0m0s" go.version=go1.5.3 instance.id=25b8dd5a-f154-455b-84ad-3dd61ccf04e0 version=v2.3.1time="2016-04-05T13:54:59Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.5.3 instance.id=90882341-a150-4384-9434-b091aacdd68b version=v2.3.1time="2016-04-05T13:54:59Z" level=info msg="redis not configured" go.version=go1.5.3 instance.id=90882341-a150-4384-9434-b091aacdd68b version=v2.3.1time="2016-04-05T13:54:59Z" level=info msg="Starting upload purge in 59m0s" go.version=go1.5.3 instance.id=90882341-a150-4384-9434-b091aacdd68b version=v2.3.1time="2016-04-05T13:54:59Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.5.3 instance.id=90882341-a150-4384-9434-b091aacdd68b version=v2.3.1time="2016-04-05T13:54:59Z" level=info msg="listening on [::]:5000" go.version=go1.5.3 instance.id=90882341-a150-4384-9434-b091aacdd68b version=v2.3.1time="2016-04-05T14:53:59Z" level=info msg="PurgeUploads starting: olderThan=2016-03-29 14:53:59.133142744 +0000 UTC, actuallyDelete=true"time="2016-04-05T14:53:59Z" level=info msg="Purge uploads finished. Num deleted=0, num errors=1"time="2016-04-05T14:53:59Z" level=info msg="Starting upload purge in 24h0m0s" go.version=go1.5.3 instance.id=90882341-a150-4384-9434-b091aacdd68b version=v2.3.1
سجلات التصحيح عامل الميناء الخفي عندما أحاول دفع صورة إلى السجل الخاص بي:
DEBU[0037] Calling POST /v1.22/images/localhost:6000/hello-world/pushDEBU[0037] POST /v1.22/images/localhost:6000/hello-world/push?tag=DEBU[0037] Trying to push localhost:6000/hello-world to https://localhost:6000 v2DEBU[0037] Error getting v2 registry: Get https://localhost:6000/v2/: read tcp [::1]:33560->[::1]:6000: read: connection reset by peerDEBU[0037] Trying to push localhost:6000/hello-world to http://localhost:6000 v2DEBU[0037] Error getting v2 registry: Get http://localhost:6000/v2/: read tcp [::1]:33562->[::1]:6000: read: connection reset by peerDEBU[0037] Trying to push localhost:6000/hello-world to https://localhost:6000 v1DEBU[0037] attempting v2 ping for registry endpoint https://localhost:6000/v2/DEBU[0037] attempting v1 ping for registry endpoint https://localhost:6000/v1/DEBU[0037] Trying to push localhost:6000/hello-world to http://localhost:6000 v1DEBU[0037] Image list: [0xc820aa3840 0xc820704500]DEBU[0037] Tags by image: map[sha256:690ed74de00f99a7d00a98a5ad855ac4febd66412be132438f9b8dbd300a937d:[latest]]DEBU[0037] Pushing ID: b652ec3a27e758f30de4742156b5d096bb19c82f2dc836e96e430323ba166ffe with Tag:DEBU[0037] Pushing ID: 690ed74de00f99a7d00a98a5ad855ac4febd66412be132438f9b8dbd300a937d with Tag: latestDEBU[0037] [registry] PUT http://localhost:6000/v1/repositories/hello-world/DEBU[0037] Image list pushed to index:[{"id":"b652ec3a27e758f30de4742156b5d096bb19c82f2dc836e96e430323ba166ffe"},{"id":"690ed74de00f99a7d00a98a5ad855ac4febd66412be132438f9b8dbd300a937d","Tag":"latest"}]DEBU[0037] Not continuing with error: Put http://localhost:6000/v1/repositories/hello-world/: EOF
تنتهي سجلات التسجيل بالقول إن خطأ حدث ، ولكن من بقية السجل لا يمكنني في الواقع تمييز ما كان هذا الخطأ. حتى أنني تقسيم السجل إلى ستدوت و ستدير ولا شيء كان في ستدير.
أيضا ، لقد أكدت أن التسجيل يستمع على إيبف 4. تشغيل nc -l -4 6000
العودة Address already in use
. على الأقل ، أعتقد أنني أكدت ذلك. عناوين إيبف 4 لا تزال لن تظهر مع netstat
.
تحديث6
حدد صراحة منفذ إيبف 4 مع docker run -d -p 127.0.0.1:8000:8000
، يظهر هذا المنفذ كما الاستماع في نيتستات. لا يزال الحصول على نفس الأخطاء. سجلات عامل الميناء مختلفة قليلا على الرغم من:
time="2016-04-07T15:19:31Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1time="2016-04-07T15:19:31Z" level=info msg="redis not configured" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1time="2016-04-07T15:19:31Z" level=info msg="Starting upload purge in 1m0s" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1time="2016-04-07T15:19:31Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1time="2016-04-07T15:19:31Z" level=info msg="listening on [::]:5000" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1time="2016-04-07T15:20:31Z" level=info msg="PurgeUploads starting: olderThan=2016-03-31 15:20:31.061864096 +0000 UTC, actuallyDelete=true"time="2016-04-07T15:20:31Z" level=info msg="Purge uploads finished. Num deleted=0, num errors=1"time="2016-04-07T15:20:31Z" level=info msg="Starting upload purge in 24h0m0s" go.version=go1.5.3 instance.id=6391e3dc-6644-4a45-8e8b-a08c8ff798a6 version=v2.3.1
الرسالة" ريديس لم يتم تكوين " هو الشيء الوحيد الذي يبدو أنه يمكن أن يكون مشكلة. سوف ننظر في ذلك. هل حقا, نقدر حقا أي رؤية إضافية.