Compose: "فشل برنامج التشغيل في برمجة الاتصال الخارجي عند نقطة النهاية" (1.7.0-rc1)

تم إنشاؤها على ٦ أبريل ٢٠١٦  ·  278تعليقات  ·  مصدر: docker/compose

أنا متأكد من أن هذا كان يعمل على docker-compose 1.7.0-rc1 قبل أن أقوم بتثبيت أحدث Docker لنظام Mac beta ، والذي تمت ترقيته إلى docker 1.11.0-rc3. أحاول تشغيل خدمة socat على المنفذ 172.17.0.1:8123 ، بحيث تكون متاحة لإنشاءات عامل الإرساء. يستخدم yml الحقيقي الخاص بي متغير بيئة لعنوان IP ، ولكنه يحدث حتى عند ترميزه بشكل ثابت.

ERROR: for socat_httpcache  driver failed programming external connectivity on endpoint test_socat_httpcache_1 (5d973ed559d63a5561b715248f797a336915a44960b5e32e622ac8349b16e5d2): Error starting userland proxy: failed to bind port: Unix.Unix_error(Unix.EADDRNOTAVAIL, "bind", "")
version: '2'
services:
  httpcache:
    restart: always
    image: clue/polipo
    command: proxyAddress=0.0.0.0 allowedClients=0.0.0.0/0 disableIndexing=false disableServersList=false
    mem_limit: 500m
    memswap_limit: 500m
    volumes:
      - /var/cache/polipo

  socat_httpcache:
    restart: always
    hostname: POLIPO1
    image: bobrik/socat
    mem_limit: 50m
    command: TCP-LISTEN:8123,fork,reuseaddr TCP:httpcache:8123
    depends_on:
      - httpcache
    ports:
      - "172.17.0.1:8123:8123"

مطول. txt

arenetworking

التعليق الأكثر فائدة

الرجاء التوقف عن إرسال +1 ، حيث إنه يرسل رسائل بريد إلكتروني إلى جميع صناديق البريد الوارد الخاصة بالمشتركين. إما أن تستخدم الرموز التعبيرية (مبتسم على يمين كل تعليق) أو على الأقل قدم الإعداد الكامل وأرقام الإصدار وما إلى ذلك. شكرا

ال 278 كومينتر

تضمين التغريدة
هل يمكنك نشر o / p لـ sudo netstat -nlp | grep 8123 . شكر.

يقول جهاز Mac الخاص بي إن -p يتطلب وسيطة ، لذلك أعتقد أن هذا ما تريده:

$ sudo netstat -nl -p tcp  | grep 8123
(nothing)
$ sudo netstat -nl -p tcp  | head    # to confirm mac output is what you expect
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.2.4.52918      216.58.194.34.80       ESTABLISHED
tcp4       0      0  192.168.2.4.52917      23.199.236.147.80      ESTABLISHED
tcp4       0      0  192.168.2.4.52916      192.229.163.25.443     ESTABLISHED
tcp4       0      0  192.168.2.4.52915      192.229.163.175.80     ESTABLISHED
...
$ docker ps -a | grep 8123
7baf5b2ec0eb        clue/polipo               "polipo proxyAddress="   26 minutes ago      Up 12 minutes                  8123/tcp            test_httpcache_1
3fea15e3d5b4        clue/polipo               "polipo proxyAddress="   33 minutes ago      Up 19 minutes                  8123/tcp            buildenv_httpcache_1

نفس الشيء يحدث لي.

أواجه نفس المشكلة عند إعادة التشغيل باستخدام docker-compose up. في حالتي ، فشلت خدمة وكيل nginx في البدء. يجب أن تكون مرتبطة بـ Docker for Mac beta. لقد بدأ بعد أن قمت بتثبيت الإصدار التجريبي ولم يحدث بعد التبديل مرة أخرى إلى Virtualbox.

إصدار docker-compose 1.7.0 ، بناء 0d7bf73
إصدار Docker 1.11.0 ، بناء 4dc5990

أواجه نفس الخطأ عندما أحاول بدء تشغيل مكدس باستخدام عامل عامل إنشاء. تبدأ جميع الحاويات بشكل صحيح باستثناء القنصل واحد أنا أتلقى هذا الخطأ

ERROR: for consul driver failed programming external connectivity on endpoint devas_consul_1 (6ceba32c51cb70b354f 2f4b68d173ca97a65d6a0bfd308d3137e2a7069abd1b6): Error starting userland proxy: Failed to bind: EADDRNOTAVAIL

أنا متأكد من أن له علاقة بإصدار عامل الإرساء التجريبي الخاص بي لنظام التشغيل Mac.

docker-compose -v docker-compose version 1.7.0, build 0d7bf73

أنا أستخدم آخر إصدار تجريبي من docker لنظام التشغيل mac

"
نسخة عامل ميناء
عميل:
الإصدار: 1.11.1
إصدار API: 1.23
إصدار Go: go1.5.4
Git الالتزام: 5604cbe
تاريخ البناء: الأربعاء 27 أبريل 00:34:20 2016
نظام التشغيل / القوس: darwin / amd64

الخادم:
الإصدار: 1.11.1
إصدار API: 1.23
إصدار Go: go1.5.4
Git الالتزام: 8b63c77
تاريخ البناء: الجمعة 29 أبريل 14:13:26 2016
OS / Arch: لينكس / amd64
"

بعد الرسالة أعلاه ، أحصل على Error starting userland proxy: Failed to bind: EADDRINUSE.
مرتبك بشأن مكان الصراع حيث لم يكن موجودًا من قبل

كيف يمكن للمرء "تحرير" المنفذ المستخدم بحيث يمكن للكتابة إحضار الحاوية مرة أخرى؟ في المرة الأولى التي حدث فيها ذلك ، انتظرت لمدة دقيقة أو نحو ذلك وعملت في المحاولة الثانية. المرة الثانية ، كانت حوالي ساعة. يؤلف Docker kill ، down ، rm - all ، وما إلى ذلك ، ولا يزال هناك شيء يحتفظ به.

FYI ، تم تتبعه في الإصدار التجريبي @ https://forums.docker.com/t/port-mappings-are-not-released/10565/11

لقد اكتشفت سبب المشكلة ، فالحاوية (القنصل) التي تسبب المشكلة لها منفذ الربط هذا 172.17.0.1:53:8600/udp . لقد استبدلت بـ 53:8600/udp وهي تعمل الآن. لم أفهم بعد لماذا لا يعمل الربط الأول. راجع للشغل ، كيف يمكنني معرفة عنوان IP للجسر؟

مرحبًا ، لقد واجهت نفس المشكلة مع إصدار Docker 1.11.1 على Mac OSX.
ERROR: for nginx driver failed programming external connectivity on endpoint managercentralapp_nginx_1 (e11d19ee8f486a2e12c9c87802dca7ea5f541f026645f69e338e94732ac1eb56): Error starting userland proxy: Failed to bind: EADDRINUSE

أنا أيضًا أحصل على هذا بعد الترقية إلى Docker 1.12-rc2 ، لست متأكدًا مما إذا كان هذا هو المكان المناسب لنشر هذا.

Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 20:35:33 2016
 OS/Arch:      darwin/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd-unsupported
 Built:        Fri Jun 17 21:12:28 2016
 OS/Arch:      linux/amd64
 Experimental: true

خطأ كامل:

Error response from daemon: driver failed programming external connectivity on endpoint xxx_xxx_1 (xxx): Bind for 0.0.0.0:2224 failed: port is already allocated

نتستات:

tcp6       0      0 :::2224                 :::*                    LISTEN      9083/docker-proxy

أرى هذا بشكل متقطع. عادةً ما تؤدي إعادة محاولة الأمر بعد دقيقة إلى "إصلاح" المشكلة.
هذا بعد الانتقال إلى Docker for Mac أمس.

$ docker version
Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 20:35:33 2016
 OS/Arch:      darwin/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   a7119de
 Built:        Fri Jun 17 22:09:20 2016
 OS/Arch:      linux/amd64
 Experimental: true

لقد تلقيت أيضًا نفس الخطأ الذي تلقيته يا رفاق. اعتقدت أن ذلك يرجع إلى أن nginx كان ملزمًا بمنافذه التي تم تناولها بالفعل ولكن لا أعتقد ذلك الآن. هل وجد أي شخص أي حلول لهذا؟ :)

+1 نفس الخطأ على mac

حدث هذا بعد الانتقال إلى Docker for Mac ، ولكن بعد إيقاف وإزالة جميع الحاويات بعد النقل ، وإعادة تشغيل عامل الإرساء ، وإعادة إنشاء الحاوية وما إلى ذلك ، تم إصلاحه.

لقد مررت بهذا مرة أخرى اليوم بعد تحديث Docker for Mac ، لكن تكرار السيناريو أعلاه ثابت. أفترض أن المنفذ (والأشياء "الأخرى") التي أسندها لحاويات معينة لا يتم تحريرها حتى يتم تنظيفها بالكامل.

على سبيل المثال:

ERROR: for nginx driver failed programming external connectivity on endpoint dev_nginx (4c340c55f7402c7b265803ea64541ebdf8613f4b43dfa816001d27bdc4f513b3): Error iptables FORWARD: Another app is currently holding the xtables lock; waiting (1s) for it to exit... ERROR: Encountered errors while bringing up the project.

+1 لها نفس المشكلة على mac

TuningGuide MacBook Pro (15 بوصة ، أواخر 2011) ، 2.2 جيجاهرتز Intel Core i7 ، 8 جيجابايت 1333 ميجاهرتز DDR3
تم تمديد تشغيل Node 4.4.7 لدعم Ember CLI. الإعداد أدناه:

FROM node:4.4.7

# expose ember-cli ports
EXPOSE 4200 35729 49152

# install ember-cli dependencies
RUN npm install -q -g ember-cli
RUN npm install -q -g bower
RUN npm install -q -g phantomjs-prebuilt

# install watchman
# http://ember-cli.com/user-guide/#watchman
RUN \
  git clone https://github.com/facebook/watchman.git &&\
  cd watchman &&\
  git checkout v3.5.0 &&\
  ./autogen.sh &&\
  ./configure &&\
  make &&\
  make install

ركض مع الحجم المركب لملفات ember-cli باستخدام 'ember serve' كأمر.

+1 نفس المشكلة على mac مع docker for mac

الرجاء التوقف عن إرسال +1 ، حيث إنه يرسل رسائل بريد إلكتروني إلى جميع صناديق البريد الوارد الخاصة بالمشتركين. إما أن تستخدم الرموز التعبيرية (مبتسم على يمين كل تعليق) أو على الأقل قدم الإعداد الكامل وأرقام الإصدار وما إلى ذلك. شكرا

➜  ~ docker info
Containers: 2
 Running: 0
 Paused: 0
 Stopped: 2
Images: 2
Server Version: 1.12.0-rc3
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 21
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.14-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.954 GiB
Name: moby
ID: GZAT:26TX:PYCM:KKNA:JSWY:AMEL:RQYI:O23B:QGSQ:WBVB:3Q7E:XDPJ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 18
 Goroutines: 30
 System Time: 2016-07-08T17:41:26.03558348Z
 EventsListeners: 1
No Proxy: *.local, 169.254/16
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 127.0.0.0/8
➜  ~ cat docker-compose-local.yml
version: '2'
services:
  cache:
    image: redis
    command: redis-server --appendonly yes
    ports:
      - "6379:6379"
  db:
    image: postgres:9.4
    ports:
      - "5432:5432"
    volumes:
      - ./tmp/dump.gz:/tmp/dump.gz
      - ./tmp/dump.sh:/docker-entrypoint-initdb.d/dump.sh
    environment:
      POSTGRES_DB: dbname
      POSTGRES_USER: dbuser
      POSTGRES_PASSWORD: dbpass

حصلت على الأخطاء التالية:

ERROR: for cache  driver failed programming external connectivity on endpoint carsaver_cache_1 (253054ef6864bdcb5377bd1690173fa352021d505dc05c3aafecf66b02c0b73d): Error starting userland proxy: write /port/tcp:0.0.0.0:6379:tcp:172.18.0.2:6379/ctl: errno 526

ERROR: for db  driver failed programming external connectivity on endpoint carsaver_db_1 (8a5990bd06a50d87c7db96de84367bb01b71c971d5a4b9e578fea7d75d893d59): Error starting userland proxy: write /port/tcp:0.0.0.0:5432:tcp:172.18.0.3:5432/ctl: errno 526
ERROR: Encountered errors while bringing up the project.

تم العثور على حل للأشخاص الذين يعانون من نفس الخطأ كما هو موضح أعلاه.
كنت أستخدم Docker Toolbox سابقًا ، لكنني لم أحذف Virtualbox. كانت تستخدم المنافذ الخاصة بي لذا لا يمكنني البدء. بعد الانتهاء من إزالة برنامج VirtualBox ، عمل docker-compose بشكل رائع.

aananddnephin من فضلك، إضافة إلى Getting Started تحذيرا مثل هو موضح أعلاه.

miraage سعيد لسماع أنك حلت مشكلتك.
لم يكن لدي بيانات وحدة التخزين الخاصة بك + dump.sh ولكن قمت بإنشاء سريع بدون مشاكل:

Creating driverfailed_cache_1
Creating driverfailed_db_1
Attaching to driverfailed_cache_1, driverfailed_db_1

jamshid لماذا تحدد عنوان IP لـ socat (ليس على دراية به)؟ كيف تستخدم ذلك؟
عمل docker-compose up بدون IP ليس لدي أي مشاكل:

Creating socat_httpcache_1
Creating socat_socat_httpcache_1
Attaching to socat_httpcache_1, socat_socat_httpcache_1
docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
f2e3b3767982        bobrik/socat        "socat TCP-LISTEN:812"   2 seconds ago       Up 1 seconds        0.0.0.0:8123->8123/tcp   socat_socat_httpcache_1
43dbd35629e0        clue/polipo         "polipo proxyAddress="   3 seconds ago       Up 2 seconds        8123/tcp                 socat_httpcache_1

إذا كان هدفك هو أن تتحدث http_cache إلى حاوية socat ، فلماذا لا تضعها على نفس الشبكة وتنتهي من ذلك؟

version: '2'
services:
  httpcache:
    restart: always
    image: clue/polipo
    command: proxyAddress=0.0.0.0 allowedClients=0.0.0.0/0 disableIndexing=false disableServersList=false
    mem_limit: 500m
    memswap_limit: 500m
    volumes:
      - /var/cache/polipo
    networks:
      - socatnet

  socat_httpcache:
    restart: always
    hostname: POLIPO1
    image: bobrik/socat
    mem_limit: 50m
    command: TCP-LISTEN:8123,fork,reuseaddr TCP:httpcache:8123
    depends_on:
      - httpcache
    networks:
      - socatnet
networks:
  socatnet:

حسنًا ، أنا أستخدم محرك docker 1.11.2 في centos7 في تدفق مستمر للبناء / التكامل لأتمتة الاختبارات وبقدر ما يمكنني أن أقول ، يظهر هذا الخطأ في النهاية على الرغم من عدم وجود حاوية قيد التشغيل (أثناء إعادة نشر إصدار معين من كومة الخدمة بأكملها). يبدو أيضًا أنه مرتبط بحقيقة أن محرك عامل الإرساء يتعرض أحيانًا لخطأ عند محاولة التنظيف بعد إزالة الحاويات قيد التشغيل ، وقد يتم الاحتفاظ ببعض قواعد iptables لتخصيص منافذ الشبكة لسبب ما ، ربما يتعلق بـ https://github.com/ عامل الإرساء / عامل الإرساء / المشكلات / 23371 # issuecomment -229982105 - لكنني ما زلت غير متأكد من ذلك.

لدي نفس المشكلة ، مع Docker for Mac ، تشغيل حاوية postgresql. لذلك ، كان السبب في ذلك هو تشغيل postgres على نفس المنفذ على النظام المضيف كمنفذ محدد في ملف التكوين الخاص بي. شيء واضح جدًا ، لكن يمكن أن يكون مفيدًا لشخص أعتقد.
شكرا على الأداة الرائعة. 👍

واجهت مشكلة مماثلة في Docker لنظام التشغيل Mac الذي يقوم بتشغيل حاوية nginx ، وكان المنفذ 80 الخاص بي مستخدمًا بواسطة apache (أصلي). لقد استخدمت telnet و netstat لمشاهدة الخدمة قيد التشغيل.

بالنسبة لي كان الحبار ، لقد أوقفت الحبار ولم أعد أرى ذلك بعد الآن. لذلك أعتقد أن الأمر قد يكون له علاقة بكل ما يشغل الميناء وإذا أجبرنا عامل الميناء على تعيين هذا الميناء.

كما هو الحال هنا مع marcosalberto وآخرين. المنشور الذي كنت أحاول تحميل postgres عليه كان مستخدمًا بالفعل. لقد غيرت الميناء للتو وعملت الأمور بشكل جيد.

على OSX ، قد يعمل خادم الويب apache المدمج على المنافذ 80/443. للتأكد:
ps -ef | grep httpd

لإيقاف تشغيله:
توقف sudo apachectl

نعم ، لقد عملت بالنسبة لي. لدي OS X بدون apache المنشط ، لكنني استخدمت هذا الموقع خلال أيام قليلة: https://coolestguidesontheplanet.com/upgrade-php-on-osx/ لتحديث PHP.

بعد هذا السيناريو

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

موصى به لتحديث php تم تنشيط apache وفوجئت بحاوياتي.

عندما نريد "تحديث php" لا نريد "تفعيل اباتشي" ، لكن الموقع أعلاه يحتل المركز الأول في google :(

سعيد لرسو السفن!

أحيانًا يفشل docker-compose في بدء تشغيل الحاوية المطلوبة ويترك المنفذ مشغولاً بعملية الاستماع .. لذا حاول سرد جميع منافذ (الاستماع) باستخدام

lsof -nP +c 15 | grep LISTEN

# outputs
Dropbox             384  IPv4 0x82c      TCP 127.0.0.1:17600 (LISTEN)
com.docker.slirp   6218  IPv4 0x82c      TCP *:5432 (LISTEN) <<<MOSTLY THE PROBLEM
Python             6268  IPv4 0x82c      TCP 127.0.0.1:51617 (LISTEN)

# then kill the com.docker.slirp process id if it's the one causing the problem
kill -9 6218

تحديث:
تمكنت أيضًا من إعادة إنتاج هذه المشكلة (عدة مرات) ... ابدأ خدمة محليًا تستمع إلى المنفذ XXX وابدأ حاوية تعرض نفس المنفذ XXX ...
ستفشل في تشغيل docker-compose up ولن يتم قتل عملية com.docker.slirp مما يتسبب في استمرار المشكلة حتى تنتهي عملية com.docker.slirp يدويًا (حتى أنني أضفت اسمًا مستعارًا للقيام بذلك alias portfix='pkill com.docker.slirp' )

+1 على أجهزة Mac

@ جنون راز عمل رائع! شكر!

كان لديه نفس النوع من الخطأ
Error starting userland proxy: write /port/tcp:0.0.0.0:80:tcp:172.17.0.5:80/ctl: errno 526

لقد كان nginx بالنسبة لي.
اضطررت إلى قتل nginx للتغلب عليه sudo nginx -s stop

+1 هنا أيضًا.

جربت الحل البديل الذي اقترحه @ mad-raz ، وأزال جميع الحجوزات ، لكنها عادت بعد بضع ثوانٍ. يبدو أن عملية com.docker.slirp يتم إعادة إنتاجها بواسطة خدمة مراقبة. نتيجة لذلك ، يظهر الخطأ على عامل الإرساء التالي.

driver failed programming external connectivity on endpoint ... Bind for 0.0.0.0:9086 failed: port is already allocated

إصدار docker-compose 1.8.0-rc2 ، بناء c72c966

بعد إغلاق Docker لنظام التشغيل Mac ، تظل هذه العمليات.
% ps -ef | grep docker !10007 0 1086 1 0 Tue03PM ?? 0:00.01 /Library/PrivilegedHelperTools/com.docker.vmnetd 648074730 30807 1 0 1:49PM ?? 0:00.07 /Applications/Docker.app/Contents/MacOS/com.docker.osx.hyperkit.linux -watchdog fd:0 648074730 30808 30807 0 1:49PM ?? 0:00.03 /Applications/Docker.app/Contents/MacOS/com.docker.osx.hyperkit.linux -watchdog fd:0 648074730 30810 30807 0 1:49PM ?? 0:02.08 com.docker.db --url=file:///Users/astone/Library/Containers/com.docker.docker/Data/s40 --git /Users/astone/Library/Containers/com.docker.docker/Data/database

+1 على mac :(

حل بديل عن طريق إلغاء تثبيت docker من قائمة الشريط العلوي (رمز Docker> التفضيلات> إلغاء التثبيت) وإعادة تثبيته :(

شكرا لك @ alexander-emelyanov!
فجأة حصلت على هذا الخطأ أثناء تشغيل docker-compose up -d لمشروعي على OS X ولم أقوم بعمل علاقة بحقيقة أنني قمت بتثبيت PHP 7 على جهاز Mac الخاص بي (بحيث تعمل عمليات التحقق من بناء الجملة SublimeText بشكل صحيح) مع نصوص Liip النصية نفس اليوم.

كان هذا في الواقع بسبب بدء Apache على جهاز Mac الخاص بي ، وكان علي فقط إيقافه.

أواجه مشكلة في تشغيل postgres. لقد تحققت من أن postgres لا يعمل على الجهاز المضيف الخاص بي باستخدام brew services stop postgres . قمت بتشغيل lsof -i :5432 وحصلت على الناتج التالي:

image

هل عامل الميناء يقوم بتشغيل postgres لشيء داخلي؟ عندما قتلت العملية باستخدام SIGINT ، بدأت أيقونة شريط حالة عامل الإرساء بالتداول وأعادت تشغيل الخدمة. كانت الطريقة الوحيدة التي يمكنني من خلالها تشغيله هي تغيير منفذ المضيف في ملف إنشاء عامل الإرساء.

اقرأ هناك حل بديل يوضح ذلك بالضبط https://github.com/docker/compose/issues/3277#issuecomment -232505775

@ mad-raz عند إنهاء العملية ، تتم إعادة تشغيل Docker (لنظام التشغيل Mac) تلقائيًا فورًا ، ويتم استخدام نفس المنافذ مرة أخرى بعد ثوانٍ قليلة ...

انتهى بي الأمر بإعادة تعيين Docker (وبالتالي حذف جميع الحاويات) ، وقد نجح ذلك مرة أخرى ، وتم تحرير جميع المنافذ 😕

هذه القضية هي في الحقيقة مشكلتان:

  1. هناك رسالة خطأ محيرة عندما يكون المنفذ قيد الاستخدام بالفعل بواسطة تطبيق آخر (مثل Apache). تم إصلاح ذلك في Docker 1.12.0 (الآن يقول صراحةً "المنفذ مخصص بالفعل").
  2. بعد إيقاف الحاويات ، تظل المنافذ التي يستخدمونها أحيانًا معينة على localhost .

هل لا يزال أي شخص يعاني من مشكلة لا. 2 بعد ترقية Docker لنظام التشغيل Mac إلى أحدث إصدار ( 1.12.0 أو 1.12.0-beta21 إذا كنت تستخدم القناة التجريبية)؟

ما زلت أتلقى هذه المشكلة.
Docker v1.12 ، Docker Compose v1.8.

حصلت على خدمة nginx والتي لن تبدأ ، بالإضافة إلى العديد من الخدمات الأخرى التي تفشل أحيانًا:

ERROR: for nginx  Cannot start service nginx: driver failed programming external connectivity on endpoint test_nginx_1 (3f72f35baab64b37c667a4a98e9b8c4adc312e2df7a16c80030536101c695546): Bind for 0.0.0.0:80 failed: port is already allocated

حاولت إعادة التشغيل وإيقاف المشروع بالكامل وإعادة الإنشاء ، لكن لا شيء يعمل.

ناتج sudo netstat -tulpn | grep 80 :

tcp6       0      0 :::80                   :::*                    LISTEN      3455/dockerd

معلومات عامل الميناء:

Containers: 30
 Running: 30
 Paused: 0
 Stopped: 0
Images: 89
Server Version: 1.12.0
Storage Driver: btrfs
 Build Version: Btrfs v4.4
 Library Version: 101
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor seccomp
Kernel Version: 4.4.0-31-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 9.765 GiB
Name: apps
ID: 7WCN:K7EU:M6IO:NPF2:UK2W:HBKO:MUSD:V7FC:RNWU:3FSA:BNAR:TZEH
Docker Root Dir: /mnt/storage/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 127.0.0.0/8

الإصدار:

Client:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 22:11:10 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 22:11:10 2016
 OS/Arch:      linux/amd64

تجدر الإشارة إلى أن مشروع التأليف الخاص بي به 29 خدمة.

من الغريب أيضًا أنه عندما يكون Docker معلقًا على المنفذ 80 بدون سبب ، لا يمكنني الاتصال بالمنفذ 80 من مضيف آخر. عندما يكون المنفذ 80 قيد الاستخدام بشكل شرعي بواسطة حاوية ، يمكن الوصول إلى المنفذ 80 خارجيًا بشكل جيد.

أحد أسباب هذه المشكلة هو عدم تكوين docker-compose.yml إذا لم يتم استخدام المنفذ خارج الحاويات ، يجب أن يكون expose: d بدلاً من ports: ed
حيث أن استخدام ports يعرض المنفذ لكل من حاويات الخدمة الأخرى والجهاز المضيف ... بينما يعرض expose المنفذ فقط لحاويات الخدمة الأخرى (لا يتداخل مع تعيينات منفذ المضيف) ...

مشكلتي ليست مشكلة تكوين (على الأقل لا أعتقد أنها كذلك).
يمكنني إعادة تشغيل Docker Daemon وإعادة تشغيل جميع الحاويات الخاصة بي وفي كل مرة ستكون هناك حاويات مختلفة تفشل بسبب الخطأ. يبدو أنه خطأ في Docker معلق على المنافذ لا ينبغي أن يكون كذلك.

في حالتي أعلاه مع nginx ، حتى إذا قمت بإزالة حاوية nginx وأعدت تشغيل برنامج Docker daemon ، فإن عامل التحميل لا يزال يستمع على المنفذين 80 و 443: /

لذلك تمكنت من إصلاح مشكلتي. من الناحية المثالية ، لم أرغب في إلغاء تثبيت Docker لأنني أرغب في الاحتفاظ بجميع صوري ، لقد تم تنزيل عدد غير قليل منها! بدلاً من ذلك ، قمت بحذف جميع شبكاتي المخصصة ، وأزلت جميع حاوياتي ، ثم حذفت docker/network/files/local-kv.db وأعدت تشغيل جهازي.

يبدو أن شيئًا ما داخليًا في Docker قد تم كسره في هذا الملف واستمر ، ولم تكن هناك طريقة لمسحه أو إصلاحه. ربما يكون هذا لأنني بدأت في الإصدار 1.11 ، ثم مررت بجميع المرشحين لإصدار 1.12 وأنا الآن على 1.12 ، لذلك ربما كسره شيء ما على طول مسار الترقية.

الآن يبدو أنها تعمل بشكل جيد
لديّ ملف local-kb.db القديم محفوظًا إذا كان أي شخص من فريق Docker يرغب في إلقاء نظرة عليه إذا كان مفيدًا. للتلخيص ، كانت المشكلة هي الخفي الذي يستمع على المنفذين 80 و 443 حتى لو لم تكن هناك حاويات تستمع إلى تلك المنافذ.

لدي نفس المشكلة حذف جميع الحاويات والشبكة والمحلية kv.db + إعادة التشغيل ... الآن يعمل مرة أخرى.

يحدث هذا أيضًا مع Docker 1.12.0 و docker-compose 1.8 و swarm 1.2.4 على ubuntu. استخدام القنصل للكيلو فولت. فشل الانضمام إلى نقطة النهاية على شبكة GW: فشل برنامج التشغيل في برمجة الاتصال الخارجي على بوابة نقطة النهاية. تظل الحاوية التي حدث بها الخطأ في حالة تم إنشاؤها حتى تقوم بتنظيفها.

نفس الخطأ في دبيان:

# docker version
Client:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.1
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   23cf638
 Built:        Thu Aug 18 05:02:53 2016
 OS/Arch:      linux/amd64
# docker-compose up -d
Starting elk_elk_1

ERROR: for elk  driver failed programming external connectivity on endpoint elk_elk_1 (8b8bb61b786bd1e07fa83c39a14338cab6c594cdfe74890c36e32ed9de33d8d9): Bind for 0.0.0.0:12201 failed: port is already allocated
# netstat -nl -p tcp  | grep 12201
udp6       0      0 :::12201                :::*                                14055/docker-proxy

نفس الخطأ على ubuntu 16.04LTS.

نسخة عامل ميناء
عميل:
الإصدار: 1.12.1
إصدار API: 1.24
إصدار Go: go1.6.3
Git الالتزام: 23cf638
تاريخ البناء: الخميس 18 أغسطس 05:33:38 2016
OS / Arch: لينكس / amd64

الخادم:
الإصدار: 1.12.1
إصدار API: 1.24
إصدار Go: go1.6.3
Git الالتزام: 23cf638
تاريخ البناء: الخميس 18 أغسطس 05:33:38 2016
OS / Arch: لينكس / amd64

نسخة عامل ميناء
إصدار docker-compose 1.7.1 ، بناء 0a9ab35
إصدار docker-py: 1.8.1
إصدار CPython: 2.7.9
إصدار OpenSSL: OpenSSL 1.0.1e 11 فبراير 2013

الخطوة 3: قم بتشغيل rm /etc/nginx/conf.d/default.conf
---> استخدام ذاكرة التخزين المؤقت
-> 18fabfe71380
الخطوة 4: إضافة default.conf /etc/nginx/conf.d/
---> استخدام ذاكرة التخزين المؤقت
—-> ad8c17a883c9
تم بناء ad8c17a883c9 بنجاح
إنشاء uauth_fpm_1
إنشاء uauth_redis_1
إنشاء uauth_web_1

خطأ: لبرنامج تشغيل الويب فشل في برمجة الاتصال الخارجي على نقطة النهاية uauth_web_1 (1a1e10881709d37b7b242f43dca561802ddf19d67f713cfd05eb2cdae3c4b0c0): فشل ربط 0.0.0.0:443: تم تخصيص المنفذ بالفعل
Traceback (أحدث مكالمة أخيرة):
ملف ""، السطر 3 ، بوصة
ملف "compose / cli / main.py" ، السطر 63 ، بشكل رئيسي
AttributeError: الكائن "ProjectError" ليس له سمة "msg"
عاد عامل البناء -1

اتبع طريقة madjam002 لحل هذه المشكلة.

  1. docker rm -f جميع الحاويات.
  2. واجهات شبكة عامل ميناء rm.
  3. sudo rm /var/lib/docker/network/files/local-kv.db
    وإعادة التشغيل ، عملت. شكرا رفاقي.

لا يمكنني العثور على الملف /var/lib/docker/network/files/local-kv.db . أين يمكنني أن أجد ملف الكيس؟ أنا أستخدم El Capitan 10.11.4 و Docker لنظام التشغيل Mac 1.12.

@ tsantos84 سيتم تشغيل Docker داخل جهاز

جرب ما يلي (لم أختبر هذا رغم ذلك):

  • docker rm -f $(docker ps -aq) (سيزيل كل حاوياتك)
  • docker network rm $(docker network ls -q) (سيزيل كل شبكاتك)
  • docker run --rm -v /var/lib/docker/network/files:/network busybox rm /network/local-kv.db

ثم أعد تشغيل Docker لنظام التشغيل Mac ويجب أن تكون على ما يرام 👍

أو يمكنك الاتصال بـ xhyve VM عن طريق:

شاشة -AmdS docker ~ / Library / Containers / com.docker.docker / Data / com.docker.driver.amd64-linux / tty
شاشة -S docker -p 0 -X stuff
شاشة -r عامل ميناء
rm -f /var/lib/docker/network/files/local-kv.db
شاشة -S docker -X quit

في aanand ما زلت أواجه مشكلة لا. 2 ، أي بعد إيقاف الحاويات ، لا تزال المنافذ التي يستخدمونها معروضة في بعض الأحيان على المضيف المحلي.
أنا على Ubuntu 14.04 وإصدار docker: 1.12.0

يؤدي تشغيل docker-compose بعد إيقاف الحاويات وإزالتها إلى ظهور الخطأ أدناه لصورة postgresql الرسمية:

 ERROR: for db  Cannot start service db: driver failed programming external connectivity on endpoint postgres (a0edc4146637dea0b4641f06f74a38be7977259142136faee2bd0f0e8f7d6a36): Bind for 0.0.0.0:5432 failed: port is already allocated
 ERROR: Encountered errors while bringing up the project.

هذا ما يُظهره netstat:

 sudo netstat -nlp | grep 5432

 tcp6       0      0 :::5432     :::*    LISTEN

@ mad-raz fix لنظام التشغيل mac لم يعمل بالنسبة لي على Ubuntu. لديه أي حل هذا على أوبونتو

mankind هل جربت أيًا من

@ madjam002 نعم باستثناء السطر الأخير ، أي لم أقم بتشغيل Docker run --rm -v / var / lib / docker / network / files: / network busybox rm /network/local-kv.db لأنك قلت إنك لم تفعل لقد اختبرت هذا ولا أعرف ما هي الآثار المترتبة على حذف كل هذه الملفات ، لذلك لم أحذفها لأنني أريد معرفة ما إذا كان بإمكاني إصلاح هذا دون إزالة وإعادة تثبيت عامل الإرساء من البداية.

mankind إنه السطر الأخير الذي سينفذ الإصلاح بالفعل. سيؤدي تشغيل الأمر إلى إزالة جميع شبكاتك من Docker وهي عملية مدمرة ، لكنها الطريقة الوحيدة التي أعلم بها لإصلاح هذه المشكلة. إنه نفس الأمر تمامًا مثل ما نشرته سابقًا في هذا الموضوع ، والفرق الوحيد هو أنك تقوم بتشغيله داخل حاوية Docker بدلاً من المضيف.

للتوضيح ، ستحتاج إلى إزالة جميع حاوياتك وتشغيل الأمر الذي سيزيل جميع شبكاتك ، لكنك ستحتفظ بصور Docker إذا كان هذا هو ما يقلقك.

@ madjam002 شكرا

حصلت على نفس الخطأ كما وصفه الكثير من الناس في هذا الموضوع ؛ لكن مشكلتي / حل كان مختلفًا عن حل الآخرين.

أنا أستخدم Docker-machine على جهاز Mac الخاص بي. لدي العديد من المشاريع التي تستخدم عامل ميناء. أستخدم جهازًا واحدًا واستخدم عامل الإرساء لكل مشروع لبدء تشغيل حاوياتي في هذا الجهاز الواحد. كانت المشكلة التي وجدتها هي أنني كنت أحاول بدء تشغيل الحاويات الخاصة بي لمشروع واحد (المشروع ب) ، لكن الحاويات الخاصة بمشروع آخر (المشروع أ) كانت تعمل لسبب ما (لست متأكدًا من السبب).

على وجه التحديد ، كنت أتلقى أخطاء لم أتمكن من ربطها بالمنفذين 80 و 3306 لأنني عندما كنت أبدأ في إنشاء حاويات المشروع ب ، كان المشروع أ يعمل بالفعل ويربط نفسه بهذه المنافذ.

لقد استخدمت للتو docker ps -a للتحقق من أن الحاويات الأخرى كانت قيد التشغيل ومرتبطة بالفعل بتلك المنافذ. أدى إيقاف هذه الحاويات إلى حل المشكلة بالنسبة لي.

المشكلة الرئيسية التي أراها هنا هي أن هذه الحاويات من المشروع تستمر في العمل دون أن أبدأها بالفعل.

أتمنى أن يساعد هذا أي شخص آخر في هذه المشكلة.

تم إصلاح المشكلة نفسها عند إيقاف تطبيق آخر على نفس المنفذ ، تحقق من أن التطبيق يستخدم المنفذ الخاص بك بـ netstat -anp | grep PORT (استبدل PORT بالمنفذ الذي تستخدمه) أو استخدم منفذًا مختلفًا. هذا ثابت بالنسبة لي.
آمل أن يساعد هذا أي شخص.

ragboyjr ربما تكون قد بدأت مشروع حاويات a مع docker-compose up -d ولديك restart: always في ملفات الإنشاء.

@ madjam002 شكرا لهذا الإصلاح! لقد كان هذا يزعجني لمدة شهرين على Docker for Mac ، لقد اضطررت إلى اللجوء إلى إعادة التعيين إلى إعدادات المصنع ولكن تشغيل هذا بالتزامن مع إعادة تشغيل xhyve vm قد أصدر تلك المنافذ مرة أخرى.

باستخدام docker for mac ، في حالتي ، لم تكن إزالة جميع الحاويات وقتل عملية عامل الميناء التي تشغل المنافذ كافية لإصلاح المشكلة. اضطررت إلى إزالة الشبكات المرتبطة بهذه المنافذ أيضًا.

إيقاف وإزالة حاويات الرصيف:
docker stop $(docker ps -a -q); docker rm $(docker ps -a -q); docker volume rm $(docker volume ls -qf dangling=true)

إزالة الشبكات المسببة للمشاكل:
docker network rm(docker network ls -q)

معرفة العملية التي تشغل الميناء
lsof -nP | grep LISTEN

افحص ناتج الأمر الأخير وقم بقتل العملية التي تشغل المنفذ (راجع مشاركة @ mad-raz حول كيفية القيام بذلك). باتباع هذه الخطوات حل المشكلة بالنسبة لي.

marcelmfs أنت

+1 هنا ، إعادة تشغيل docker لنظام التشغيل mac تعمل على إصلاحه

أخبرني Docker For Windows للتو بالتحديث ، لذلك فعلت. الآن لن تبدأ حاوياتي. إعادة تشغيل جديدة ، إعادة تشغيل Docker جديدة ، لا توجد حاويات قيد التشغيل. قاعدة البيانات لا تعمل:

~استجابة الخطأ من البرنامج الخفي: فشل برنامج التشغيل في برمجة الاتصال الخارجي على نقطة النهاية db (44309324c7301ee0bba984b7bfee01201939c809b98f3d10333258d09d243931): خطأ في بدء تشغيل وكيل userland: فشل الربط لـ 0.0.0.0:3306: تم تخصيص المنفذ بالفعلخطأ: فشل في بدء تشغيل الحاويات: ديسيبل~

D4W الإصدار 1.13.0 (9795)

قبالة للبحث في كيفية تثبيت الإصدار القديم.

لدي نفس المشكلة

# docker-compose -f /etc/docker/docker-compose.yml up -d
Creating influxdb1

ERROR: for influxdb  Cannot start service influxdb: driver failed programming external connectivity on endpoint influxdb1 (a5ebc95f32f72421ae46eb5bdc4e2fbf0c10f43da61188cb75d1322546111c1a): Bind for 0.0.0.0:8086 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.
# docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:50:14 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:50:14 2017
 OS/Arch:      linux/amd64
 Experimental: false



md5-a7d154bb42b823b1b35a4de5ba377ae0



# docker-compose version
docker-compose version 1.11.1, build 7c5d5e4
docker-py version: 2.0.2
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016

إعادة تشغيل خدمة docker لا تساعد ، نفس الشيء مع إعادة تشغيل الجهاز المضيف.

فقط تجاهل الإدخال السابق لأنه كان خطأي (خطأ إملائي)

لدي نفس المشكلة (openSUSE 42.2). أدت إزالة ملف /var/lib/docker/network/files/local-kv.db إلى إصلاح المشكلة.

أدى حذف ملف /var/lib/docker/network/files/local-kv.db وإعادة تشغيل عامل الإرساء أيضًا إلى إصلاح هذه المشكلة بالنسبة لي على Ubuntu

لا تهتم ، القضية لا تزال قائمة

بالنسبة لي كان الشراب nginx. بمجرد أن أوقفته ، عمل عامل الميناء مرة أخرى.

أواجه مشكلة مماثلة على OSX مع منفذ UDP ، لا يبدو أن إزالة local-kv.db خيارًا لأن المنفذ يظل عالقًا حتى عند إيقاف محرك docker / VM ولكن إعادة التشغيل تمسح المنفذ المرتبط. يبدو أن هناك مشكلة في جانب OSX.

$ netstat -na|grep "\.53" <- لا يوجد منفذ udp 53 ملزم

$ docker run -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dnsmasq -d andyshinn/dnsmasq:2.75

$ netstat -na|grep "\.53"
udp4 0 0 *.53 *.* <- حسنًا ، إنه ملزم الآن

$ docker stop dnsmasq && sleep 2 && docker rm dnsmasq

$ netstat -na|grep "\.53"
udp4 0 0 *.53 *.* <- يبقى!

$ sudo lsof -i -n -P|grep ":53" <- لا يوجد ناتج!

$ netstat -tulnvp udp|grep 53
udp4 0 0 *.53 *.* 196724 9216 1307 0 <- حسنًا ، لدينا ملف تعريف

$ sudo ps aux|grep 1307 <- لا يوجد معرف pid مطابق!

يبدو أن بعض عمليات "الزومبي" القديمة تتمسك بالمنفذ ولكن لا يمكنني معرفة كيفية تحريره.

OSX 10.11.6

نسخة عامل ميناء دولار
عميل:
الإصدار: 17.03.0 م
إصدار API: 1.26
إصدار Go: go1.7.5
Git الالتزام: 60ccb22
تاريخ البناء: الخميس 23 فبراير 10:40:59 2017
نظام التشغيل / القوس: darwin / amd64

الخادم:
الإصدار: 17.03.0 م
إصدار API: 1.26 (الحد الأدنى للإصدار 1.12)
إصدار Go: go1.7.5
Git الالتزام: 3a232c8
تاريخ البناء: الثلاثاء 28 فبراير 07:52:04 2017
OS / Arch: لينكس / amd64
التجريبية: صحيح

يمكنني فقط تأكيد أن هذا يحدث لي أيضًا على حاويات متعددة.
OSX
➜ ~ نسخة عامل ميناء
عميل:
الإصدار: 17.03.1-ce-rc1.0
إصدار API: 1.27
إصدار Go: go1.7.5
Git الالتزام: 3476dbf
بني: الجمعة 17 مارس 00:27:41 2017
نظام التشغيل / القوس: darwin / amd64

الخادم:
الإصدار: 17.03.1-ce-rc1.0
إصدار API: 1.27 (الحد الأدنى للإصدار 1.12)
إصدار Go: go1.7.5
Git الالتزام: 3476dbf
تاريخ البناء: الأربعاء 15 آذار (مارس) 20:28:18 2017
OS / Arch: لينكس / amd64
التجريبية: صحيح

تم حلها ذاتيًا عدة مرات من خلال إنشاء عامل الإرساء ومرة ​​أخرى عن طريق إعادة تشغيل عملية عامل الإرساء.

+1 على mac.
حاولت حذف جميع الحاويات وإعادة تشغيل Docker. لكن هذا يحدث مرة أخرى ..

مشكلة مماثلة في Ubuntu 16.04.2 LTS ، إصدار Docker 17.04.0-ce ، بناء 4845c56

$ docker run -p IP:80:3000 --link tribeca-mongo:mongo --name tribeca -d tribeca
29a0cac17720e203e4392b281460732dc5fe43c72e34bc7365760f8bba9dc348
docker: Error response from daemon: driver failed programming external connectivity on endpoint tribeca (54911841811bf7fb7b8b6b866eae2b790fe1b8b3bd18ccd0bb2089b565538c6c): Error starting userland proxy: listen tcp IP:80: bind: cannot assign requested address.

ubuntu نفس المشكلة

إصدار Mac 10.12.3 نفسه

Windows 10 ، نفس المشكلة

Mac 10.12.3 (16D32) ، نفس المشكلة
خطأ: تمت مواجهة أخطاء أثناء طرح المشروع.

Windows 10 ، نفس المشكلة

معلومات عامل الميناء
الحاويات: 4
الجري: 3
متوقف مؤقتًا: 0
متوقف: 1
الصور: 7
إصدار الخادم: 17.03.1-ce
سائق التخزين: تراكب 2
دعم نظام الملفات: extfs
يدعم نوع d_type: صحيح
فرق التراكب الأصلي: صحيح
برنامج تشغيل التسجيل: ملف json
برنامج تشغيل Cgroup: cgroupfs
الإضافات:
الحجم: محلي
الشبكة: Bridge Host ipvlan macvlan null overlay
سرب: غير نشط
أوقات التشغيل: runc
وقت التشغيل الافتراضي: runc
ثنائي أولي: docker-init
إصدار الحاوية: 4ab9917febca54791c5f071a9d1f404867857fcc
إصدار runc: 54296cf40ad8143b62dbcaa1d90e520a2136ddfe
إصدار init: N / A (المتوقع: 949e6facb77383876aeff8a6944dde66b3089574)
خيارات الأمان:
سيكومب
الملف الشخصي: الافتراضي
إصدار النواة: 4.9.13-moby
نظام التشغيل: Alpine Linux v3.5
OSType: لينكس
العمارة: x86_64
وحدات المعالجة المركزية: 4
إجمالي الذاكرة: 6.538 جيجا بايت
الاسم moby
المعرّف: HVV7: ECOB: GSCQ : UHGE: MUHA : GVD5: KS3W: YVJ5: DJ5E: AJIM: OHMR : 344T
Docker Root Dir: / var / lib / docker
وضع التصحيح (العميل): خطأ
وضع التصحيح (الخادم): صحيح
واصفات الملف: 36
Goroutines: 39
وقت النظام: 2017-05-11T09: 41: 16.7020554Z
المستمعون: 0
التسجيل: https://index.docker.io/v1/
التجريبية: صحيح
السجلات غير الآمنة:
127.0.0.0 / 8
مرايا التسجيل:
https://mhihpv4t.mirror.aliyuncs.com
تمكين الاستعادة الحية: خطأ

فقط قم بتشغيل: docker run -d -p 3142:3142 --name blaName Bla_imageID
بدون ip ثم قم بتشغيل docker container ls للحصول على عنوان IP الخاص به ثم الاتصال به.

بالنسبة لي هو يعمل! على إصدار جديد من docker على MAC

بالنسبة لأولئك الذين يريدون تحديد عنوان معين

قم بإنشاء شبكة Docker الخاصة بك:
docker network create --subnet=172.18.0.0/16 mynet123

ثم قم ببساطة بتشغيل الصورة (سآخذ أوبونتو كمثال)
docker run --net mynet123 --ip 172.18.0.22 -it ubuntu bash

واجهت نفس المشكلة على Windows Docker + WSL وساعدت هذه المقالة في حلها:
https://www.mikeplate.com/2011/11/06/stop-http-sys-from-listening-on-port-80-in-windows/

هذا ما نجح معي أخيرًا على جهاز Mac الخاص بي:
sudo /usr/sbin/apachectl stop
يمكنك بعد ذلك معرفة أن httpd غير موجود عن طريق تشغيل ps -ef | grep httpd

نفس المشكلة على Windows 10. تم حلها بمجرد إعادة تشغيل Docker (إعادة تشغيل الكمبيوتر لم تنجح).

لقد أعدت تشغيل عامل الإرساء وعمل
sudo service docker stop
ثم
sudo service docker start

نفس الشيء على ubuntu 16.04 عبر docker-compose.
# docker -v Docker version 17.03.1-ce, build c6d412e

نجح إعادة تشغيل برنامج Docker daemon ولكنه حزين نوعًا ما.

ربما تكون هذه المشكلة متعلقة بـ libnetwork. لقد قمت بعمل علاقات عامة (https://github.com/docker/libnetwork/pull/1794). اتمنى ان تكون مفيدة

كان هذا يحدث لي. لم يظهر تعيين المنفذ عندما فعلت netstat -an في موجه Powershell المرتفع ، على الرغم من أنني لم أحاول نفس الشيء من داخل VM. اضطررت إلى إعادة تشغيل Docker لنظام التشغيل Windows لإصلاح المشكلة. هذا يعيد إنشاء VM الأساسي أيضًا.

قد يكون هذا أمرًا واضحًا لتجربته ، لكن كان لدي هذا الخطأ ، لكنني أعدت تشغيل Docker نفسه ، ثم بدأت الحاويات واختفى الخطأ.

نفس الخطأ - نفس العلاج - أعاد تشغيل Docker على نظام التشغيل Mac ثم أعد تشغيل الأمر وعمل.

لدي هذه المشكلة مستمرة في نظامنا CI - البنيات "العشوائية" معطلة ، بسبب هذا الخطأ. كانت تعمل بشكل جيد قبل بضعة أسابيع ، ثم بدأت تظهر بشكل عشوائي. يبدو أن إعادة تشغيل عامل الإرساء يساعد ، لكنه لا يزال حلاً غير موثوق به لنظام CI.
للأسف ، ليس لدي أي معلومات في متناول اليد عندما بدأ حدوث ذلك ، وأظن أنه عندما قمت بالتحديث من حزمة عامل إرساء ما قبل moby "القديمة" إلى docker-ce ، لكنها مجرد تخمين الآن

@ mad-raz شكرا جزيلا على الحل. لقد أمضيت ساعات في اكتشافها وعملت إجابتك

في بعض الأحيان يفشل docker-compose في بدء الحاوية المطلوبة ويترك المنفذ مشغولاً بعملية الاستماع .. لذا حاول إدراج جميع منافذ (الاستماع) باستخدام
lsof -nP + c 15 | grep الاستماع
النواتج
Dropbox 384 IPv4 0x82c TCP 127.0.0.1:17600 (الاستماع)
com.docker.slirp 6218 IPv4 0x82c TCP *: 5432 (LISTEN) << Python 6268 IPv4 0x82c TCP 127.0.0.1:51617 (الاستماع)
ثم اقتل معرّف عملية com.docker.slirp إذا كان هو الذي يسبب المشكلة
قتل -9 6218

لدي نفس المشكلة على Mac 10.12.5 (16F73):

Version 17.03.1-ce-mac12 (17661)
Channel: stable
d1db12684b

لكن لا توجد مشكلة مع نفس صورة عامل الإرساء على نظام Linux:

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:    16.04
Codename:   xenial

Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 17:14:09 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:        Mon Mar 27 17:14:09 2017
 OS/Arch:      linux/amd64
 Experimental: false

نفس الخطأ

إصدار Docker 17.06.0-ce ، الإصدار 02c1d87

كانت الحلول بالنسبة لي هي إيقاف الحاويات وإزالتها وإعادة تشغيلها. إذا فشل ذلك ، فتوقف وأعد تشغيل عامل الإرساء وحاول مرة أخرى. إذا فشل ذلك ، فأعد التمهيد وأعد إنشاء صور عامل الإرساء وأعد تشغيل الحاويات.

كان علي فقط أن أوقف اباتشي وأقوم بتشغيل عامل البناء مرة أخرى.

ببساطة إعادة تشغيل عامل الإرساء يعمل على إصلاح هذه المشكلة بالنسبة لي.

واجهت هذه المشكلة على Windows 10 Pro وأوقفت خدمة IIS ، ثم تعمل!

إذا كان الخطأ الذي تحصل عليه متعلقًا بـ Redis. تأكد من عدم تشغيل Redis لنظام التشغيل Windows / Linux / إلخ في الخلفية و / أو عند بدء التشغيل

لم يؤد إيقاف تشغيل Docker عبر القائمة / إعادة التشغيل عبر القائمة إلى حل المشكلة بالنسبة لي لأنه لا يبدو أن Docker قد توقف تمامًا.

قمت بتشغيل sudo pkill -fi docker ثم أعدت فتح عامل الإرساء وتم إصلاحه.

مشكلة في docker-for-mac مرة أخرى (لم تظهر في الإصدار السابق ، 17.06.0-ce-mac18 (18433)):
docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 17.09.0-ce 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 ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0 runc version: 3f2f8b84a77f73d38244dd690525642a72156c64 init version: 949e6fa Security Options: seccomp Profile: default Kernel Version: 4.9.49-moby Operating System: Alpine Linux v3.5 OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 7.787GiB Name: moby ID: DTSR:I2Q4:V6L7:XGCE:YFZJ:UASU:47JH:K3K3:ZALX:DJQL:YM5O:GC64 Docker Root Dir: /var/lib/docker Debug Mode (client): false Debug Mode (server): true File Descriptors: 20 Goroutines: 32 System Time: 2017-10-11T08:37:39.082141259Z EventsListeners: 1 No Proxy: *.local, 169.254/16 Registry: https://index.docker.io/v1/ Experimental: true Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

واجهت نفس المشكلة ، يبدو أن بعض الحاويات كانت لا تزال تعمل وتمنع المنافذ.

قم بعمل "docker ps -a" للتحقق مما إذا كان لديك حاويات قيد التشغيل
قم بتشغيل "docker kill $ (docker ps -q)" لإيقاف تشغيل جميع الحاويات

أواجه نفس المشكلة في إصدار mac 17.09.0-ce-mac35 (19611)

جرب طريقة الحل حتى الخيط بواسطة madjam002. إذا لم يفلح ذلك ، فقم بتصدير جميع صورك المخصصة أو تأكد من إمكانية إعادة بنائها باستخدام Dockerfiles ، ثم قم بإصلاح جميع صورك بالكامل ، وقم بإلغاء تثبيت Docker ، وإعادة التشغيل ، وإعادة تثبيت Docker ، ولكن قد يحدث ذلك مرة أخرى. الحل هو تغيير التكوين الخاص بك إلى منفذ مختلف. عندما فعلت ذلك من حين لآخر ، أصبح المنفذ الجديد عالقًا مرة أخرى وسأضطر إلى تغيير التكوين إلى منفذ ثالث. ليس من الواضح سبب حدوث ذلك لبعض الأشخاص دون غيرهم.

على MAC وقف اباتشي الداخلية

توقف sudo apachectl

أواجه هذه المشكلة باستمرار. الشيء الغريب هو أنني أحصل على ERR_SOCKET_NOT_CONNECTED في المتصفح عند محاولة الوصول إلى الخدمة. ثم أوقف الحاوية وحاول تشغيلها مرة أخرى عندما أحصل على الخطأ الذي تبلغ عنه.

تؤدي إعادة تشغيل محرك Docker إلى إصلاح المشكلة ، لكنها تعود بعد فترة وجيزة.

بعد بعض الحفر ، أدركت أن حاوياتي يمكنها التواصل مع بعضها البعض عبر عناوين IP الداخلية التي يعينها Docker ، لكن لا يمكنها التواصل مع العالم الخارجي (حتى google وما شابه).

يمكن أن يحدث هذا بعد 10 دقائق ، أو بعد ساعتين من الاستخدام.

أنا على MacOS High Sierra وأحدث Docker لنظام Mac.

rogoit الذي حل المشكلة بالنسبة لي. شكر!

sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist يعمل معي على mac

عندما أحصل على هذا الخطأ ، نجحت في زيارة دليل / port في المضيف:

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
cd /port/tcp:0.0.0.0:5000:tcp:172.18.0.16:3000  # or whatever file had the file exists error

في حالتي ، كان هناك ملف في هذا الدليل - أعتقد أنه كان يُسمى ctl أو ما شابه ، وبعد أن قمت بتشغيل cat على هذا الملف لمعرفة ما بداخله ، اختفت المشكلة - الملف ، واختفى الدليل أيضًا بعد cd .. و ls .

يمكنني بعد ذلك تشغيل docker-compose start [service] .

الإصدار 17.09.0-ce-mac35 (19611)
القناة: مستقرة
a98b7c1b7c

macOS 10.13.1 (17B1003)

يبدو أن هناك العديد من النكهات لهذه القضية. هنا لي:

Docker لنظام التشغيل Windows على نظام التشغيل Windows 10.

يبدو أن تحديث Windows 10 الأخير (Fall Creators Update ، 2017) يحتوي على "ميزة" جديدة. عند إيقاف التشغيل ، يتذكر ما يتم تشغيله حتى يتمكن من تشغيله احتياطيًا عند إعادة التشغيل.

هذا حطام الخراب مع Docker for Windows (ومحو عدة ساعات من وقتي قبل أن أقوم بالاتصال). حصلت على "فشل برنامج التشغيل المخيف في برمجة الاتصال الخارجي عند نقطة النهاية" عند محاولة إعادة إنشاء عامل الإرساء.

تبين ، في هذه الحالة ، أن إعادة تشغيل Docker يحلها ببساطة. لم أجد ذلك على الفور ، لأنني أعدت تشغيل الكمبيوتر. التفكير في هذا سيؤدي أيضًا إلى إعادة تشغيل Docker. لا - لقد أعادت تشكيل Docker في حالة سيئة.

يبدو أنه لا توجد طريقة لإيقاف تشغيل هذه الميزة الجديدة في Win10.
https://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_perf-insiderplat_pc/programs-autostart-after-boot-in-windows-10-fall/09dd8d3e-7b36-45d1-9181-6587dd5d53ab

بدلاً من ذلك ، لإيقاف التشغيل "بشكل صحيح" ، نضطر إلى تشغيل هذا من موجه الأوامر: إيقاف التشغيل / s / t 0 أو إعادة تشغيل Docker عندما أنسى القيام بذلك.

@ biscuit314 لقد الإرساء بالنسبة لي ، وكانت هناك مشكلة صغيرة إذا لم

افعل ذلك؛

توقف sudo apachectl

لم أحصل عليه مطلقًا على Windows ولكن عند التبديل إلى Mac كان لدي هذا الخطأ. إعادة تشغيل Docker لم يغير أي شيء. كان الحل هو تغيير منفذ apache في Mac من الافتراضي 80 إلى الآخر (ومن الواضح إعادة تشغيل Apache). بعد هذه المشكلة اختفت.

أدرك أن سلسلة المحادثات هذه لا تزال تثير الكثير من النقاش ، لكنني سأغلقها لأنها لا علاقة لها بـ "الإنشاء" في حد ذاته. كما تمت الإشارة إليه في تعليقات متعددة ، تأكد من عدم وجود تطبيقات مضيفة تربط بالفعل بالمنفذ الذي تحاول خدمتك كشفه (يعد Apache أحد المخالفين الشائعين).

لأي شخص لا يزال قادمًا إلى هنا من Google: بالنسبة لجهاز التطوير المحلي الخاص بي ، كان DHCP قد أعطاني عقد إيجار جديد ولم تلتقطه خدمة عامل الإرساء ولم تتمكن من إنشاء تعيينات الشبكة بعد الآن.

لسوء الحظ ، لم تنجح أي من الاقتراحات معي. Docker for Mac Edge 18 شيء. هاي سييرا.

الشيء الوحيد الذي نجح هو الانتظار حتى يبدأ Docker بعد إعادة تشغيل النظام ثم تشغيله
$ docker-compose up -d --force-recreate يدويًا. حزين جدا.

في النهاية ، عدت إلى Docker for Mac Stable 17 ، وكل شيء يعمل بشكل جيد مرة أخرى.

في فيدورا 27 يمكنني حل هذه المشكلة عن طريق تعطيل جدار الحماية وإعادة تشغيل عامل الإرساء.

systemctl stop firewalld
systemctl restart docker

واجهت المشكلة على خادم AWS Ubuntu 16. ببساطة sudo service docker restart حل مشاكلي ...

واجه مشكلة على النوافذ. فشل في أي خدمة أي منفذ ، إعادة تشغيل عامل الإرساء إصلاحه.

نعم ، لقد واجهت أيضًا هذه المشكلة مع Docker for Windows. إعادة تشغيل Docker إصلاحه.

واجهت هذا أيضًا عدة مرات اليوم والأمس مع Docker for Windows. لم إعادة تشغيل عامل الميناء لا إصلاحه 😅

الشيء الوحيد الذي نجح هو الانتظار حتى يبدأ Docker بعد إعادة تشغيل النظام ثم تشغيله
$ docker-compose up -d - force-rebe يدويًا. حزين جدا.

هذا ايضا عمل معي

هل هناك أي شيء يمكنني القيام به (جمع المزيد من السجلات ، وإرسال معرف التشخيص) للمساعدة في التحقيق في ذلك؟

كان يواجه هذه المشكلة الآن على لينكس. systemctl restart docker أصلحه لي.

نفس المشكلة هنا. تم الإصلاح عند إعادة تشغيل Docker ، وتم تحرير المنافذ - تم فرزها

أنا أستخدم Windows 10.0.16299.125 و Docker لنظام التشغيل Windows 17.12.0-ce (15139) وحاويات Linux. لقد قمت بإيقاف تشغيل Skype وذهب الخطأ _فشل محرك في برمجة الاتصال الخارجي على نقطة النهاية_. هنا docker-compose.yml الخاص بي:

version: '3'

services:
  identity.api:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    ports:
      - "80"

لقد نسيت تمامًا أنه كان لدي خادم يعمل في البداية. ببساطة تحقق من كل المنافذ وأوقف تشغيل أي شيء آخر قبل تشغيل عامل الإرساء.

كنت أقوم بتعديل بعض تكوينات iptables. وواجهت هذا الخطأ. إعادة تشغيل Docker daemon إصلاحه ...

Starting 4b77a68f3777_deploy_nginx_1 ... 
Starting 6b96d171e3eb_deploy_database_1 ... 
deploy_fpm_1 is up-to-date
Starting 4b77a68f3777_deploy_nginx_1 ... error

ERROR: for 4b77a68f3777_deploy_nginx_1  Cannot start service nginx: b'driver failed programming external connectivity on endpoint 4b77a68f3777_deploy_nginx_1 (0efc2656fd512a2102e7ab82391048a6f5b9503819139096739d443a5b2553b0):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 443 -j DNAT --to-destination 172.18.0.Starting 6b96d171e3eb_deploy_database_1 ... error

ERROR: for 6b96d171e3eb_deploy_database_1  Cannot start service database: b'driver failed programming external connectivity on endpoint 6b96d171e3eb_deploy_database_1 (39fe9b0f86582e35df2c279dc2619f660008b6c3928e293744e005d5eca8245f):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5432 -j DNAT --to-destination 172.19.0.2:5432 ! -i br-53878ee15994: iptables: No chain/target/match by that name.\n (exit status 1))'

ERROR: for nginx  Cannot start service nginx: b'driver failed programming external connectivity on endpoint 4b77a68f3777_deploy_nginx_1 (0efc2656fd512a2102e7ab82391048a6f5b9503819139096739d443a5b2553b0):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 443 -j DNAT --to-destination 172.18.0.3:443 ! -i br-9c08ee804427: iptables: No chain/target/match by that name.\n (exit status 1))'

ERROR: for database  Cannot start service database: b'driver failed programming external connectivity on endpoint 6b96d171e3eb_deploy_database_1 (39fe9b0f86582e35df2c279dc2619f660008b6c3928e293744e005d5eca8245f):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5432 -j DNAT --to-destination 172.19.0.2:5432 ! -i br-53878ee15994: iptables: No chain/target/match by that name.\n (exit status 1))'

كنت تواجه هذه المشكلة الآن في المربع المتشرد. تم إصلاح مشكلة الصندوق المتشرد المعاد تحميله.

نفس المشكلة Windows 10

نفس المشكلة على Windows 10.
استجابة خطأ من البرنامج الخفي: فشل برنامج التشغيل في برمجة الاتصال الخارجي عند نقطة النهاية
بعد محاولة إعادة تشغيل الحاوية.

@ gudge25magomedov أنا لست متأكدا مما اذا كان يرتبط هذا، ولكن 18،03-RC3 فقط حصلت على الإفراج عنه وأنه يحتوي على هذا الإصلاح . قد يستحق التحديث لمعرفة ما إذا كان هذا الإصدار يعمل على إصلاح المشكلات التي يواجهها الأشخاص هنا.

تحرير: لقد جربت للتو مشروعي الذي كان يعاني من هذه المشكلة بعد إعادة التشغيل. بعد 20 دقيقة من الاختبار ، لم يعد بإمكاني إعادة إظهار المشكلة.

كان الحل -> إعادة تعيين Docker إلى إعدادات المصنع الافتراضية

في كل مرة أقوم بتشغيل جهاز الكمبيوتر الخاص بي ، ابدأ تشغيل الحاوية الخاصة بي ، أرى هذا الخطأ.
استجابة الخطأ من البرنامج الخفي: فشل برنامج التشغيل في برمجة الاتصال الخارجي على نقطة النهاية ea-mysql (4bf1d5fc80663ac6ceabb68283b7a31860672826709d73aecaeaaa8f50be69ff): خطأ في بدء تشغيل وكيل userland: mkdir / port / tcp: 0.0.0.0 : 172.17 : خطأ
خطأ: فشل في بدء تشغيل الحاويات: ب

أعد تشغيل الكمبيوتر ، ابدأ مرة أخرى ، إنه يعمل.

PS C: Usersphucnv7> معلومات عامل الإرساء
حاويات: 1
الجري: 0
متوقف مؤقتًا: 0
متوقف: 1
الصور: 2
إصدار الخادم: 18.03.0-ce
سائق التخزين: تراكب 2
دعم نظام الملفات: extfs
يدعم نوع d_type: صحيح
فرق التراكب الأصلي: صحيح
برنامج تشغيل التسجيل: ملف json
برنامج تشغيل Cgroup: cgroupfs
الإضافات:
الحجم: محلي
الشبكة: Bridge Host ipvlan macvlan null overlay
السجل: Awslogs fluentd gcplogs gelf journalald json-file logentries splunk syslog
سرب: غير نشط
أوقات التشغيل: runc
وقت التشغيل الافتراضي: runc
ثنائي أولي: docker-init
إصدار containerd: cfd04396dc68220d1cecbe686a6cc3aa5ce3667c
إصدار runc: 4fc53a81fb7c994640722ac585fa9ca548971871
إصدار init: 949e6fa
خيارات الأمان:
سيكومب
الملف الشخصي: الافتراضي
إصدار النواة: 4.9.87-linuxkit-aufs
نظام التشغيل: Docker for Windows
OSType: لينكس
العمارة: x86_64
وحدات المعالجة المركزية: 2
إجمالي الذاكرة: 1.934 جيجا بايت
الاسم: linuxkit-00155d347405
المعرف: 7 SDD: BOPB : ZIQ4: XO2T: AMRA: BGMS : XKB7: EHGH: K73W : 2Y4D: SLCW: Z5DX
Docker Root Dir: / var / lib / docker
وضع التصحيح (العميل): خطأ
وضع التصحيح (الخادم): صحيح
واصفات الملف: 19
Goroutines: 36
وقت النظام: 2018-03-28 T01: 25: 45.5754181Z
المستمعون: 1
التسجيل: https://index.docker.io/v1/
ملصقات:
التجريبية: صحيح
السجلات غير الآمنة:
127.0.0.0 / 8
تمكين الاستعادة الحية: خطأ

أعتقد أنني قد اكتشفت هذا أحد اللاعبين ، إنه غبي حقًا ... أنا على جهاز Mac ولدي حسابي مستخدمين منفصلين يعملان على حد سواء. بعد ترك عامل الإرساء على الحساب الآخر ، عدت إلى تجربة الأمر lando start وعمل بشكل جميل.

إذا كان لديك MAC ، فحاول إيقاف الخادم. لدي اباتشي.
sudo / usr / sbin / apachectl stop

لحل الخطأ التالي في Windows ، أعد تشغيل Docker (من قائمة العلبة أو تحديد خيار "إعادة تشغيل Docker ..." في الإعدادات / إعادة التعيين)

Cannot start service YOUR_SERVICE: driver failed programming external connectivity on endpoint

لا يمكنني بدء تشغيل أي حاوية بعد تشغيل النوافذ ووحدة الإرساء بالكامل. لا انتظار يصلح ذلك. إعادة تشغيل Docker من Docker لأيقونة شريط حالة Win يحلها.

100٪ من الوقت لا يعمل Docker بعد التمهيد / إعادة التشغيل ولا بد لي من إعادة تشغيل Docker daemon في 100٪ من الحالات.

تحرير: نعم ، @ IGZmanuelMartinVivaldi ، هذا يعمل ، لكن لا بد لي من القيام بذلك كل إعادة تشغيل للمضيف. هل هذه مشكلة في إنشاء أم مع Docker daemon بشكل عام؟

@ IGZmanuelMartinVivaldi شكرا هذه الأعمال

يبدو أن NoICE هي مشكلة بدأت مع تحديث Windows 10 Fall Creators ، لكنني لا أعرف أنه سيتم إصلاحها في تحديث Spring الحالي أو في إصدارات Dockers الجديدة

@ IGZmanuelMartinVivaldi لدي نفس مشكلة NoICE. لا بد لي من إعادة تشغيل docker طوال الوقت بعد تمهيد النوافذ بالكامل. كان في تحديث Fall Creators والحالي.

ملاحظة. أنا أستخدم إنشاء عامل ميناء ، أي ملف إنشاء عامل تشغيل يستخدم الإصدار 2.

نفس المشكلة هناnamerci. تحتاج إلى إعادة تشغيل عامل الإرساء يدويًا بعد تمهيد النوافذ بالكامل.

كذلك هنا :(
إعادة تشغيل docker للنوافذ أو في بعض الأحيان إيقاف الحاويات ثم docker system prune يعمل

نفس المشكلة هنا

أحاول حل نفس المشكلة خلال اليومين الماضيين ولكن لم ينجح حتى الآن. يحدث ذلك على نظام التشغيل Windows 7 و docker toolbox و AWS SAM CLI و Eclipse.

+1 نفس المشكلة على نظام التشغيل windows 10

لدي مشكلة مماثلة مع خادم nginx الخاص بي. لحل المشكلة كان علي:

docker stop $(docker ps -qa)

يحتوي Windows 10 على شيء مثل التمهيد السريع. ربما هذه مشكلة. على
جهاز كمبيوتر آخر بدون تمهيد سريع يعمل بشكل جيد.

الوزن ، 22 شهرًا 2018 ، 20:25 użytkownik rangeoshun [email protected]
نابيساł:

لدي مشكلة مماثلة مع خادم nginx الخاص بي. لحل المشكلة كان علي:

توقف عامل ميناء $ (docker ps -qa)

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/docker/compose/issues/3277#issuecomment-391092688 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ABGaX_NDPkbWf08T2wOkq1PjQz4v-ES3ks5t1FgPgaJpZM4IBfG_
.

تحرير: أنا أعمى. كان هناك خطأ مطبعي في رقم المنفذ في التكوين الخاص بي.

نفس المشكلة - فشل الربط لـ 0.0.0.0:18305: تم تخصيص المنفذ بالفعل.
لكن لم يتم تخصيص المنفذ. تم التحقق من خلال sudo lsof -i -P -n ، ويمكن ذكر الخدمة بدون مشكلة عند عدم استخدام عامل الإرساء.

الإصدار: 18.03.1-ce-mac65 (24312)
القناة: مستقرة
93354b38bd

إعادة التشغيل لا يساعد.
إعادة التعيين إلى إعدادات المصنع الافتراضية لا يساعد.

كنت أواجه نفس المشكلة أيضًا.
لقد قمت بحلها عن طريق إعادة تشغيل عامل الإرساء.
يا رفاق ، أرى أنه في بعض الوقت قد يكون الجهاز الظاهري مشغولاً بنفس المنافذ التي تقوم بتشغيلها الآن.
لذلك ، من خلال إعادة تشغيل عامل الإرساء ، يمكنك حل هذه المشكلة.

كما أشرنا سابقاً . هذه ليست مشكلة إنشاء ، إنها مشكلة Docker. ومن هنا لماذا هذا مغلق.
توجد مشكلة مفتوحة لهذا الغرض في Docker repo .

يمكنني إرفاق أي خدمة بأي منفذ. لسبب ما ، كانت رسالة الخطأ تظهر لي عنوان IP لم أتعرف عليه. قمت بإعادة تشغيل Docker (Windows) وعمل من هناك.

واجهت نفس المشكلة على نظام التشغيل Mac OS Sierra 10.12.6. نسخة Docker 18.03.1-ce.

لقد قمت بحلها من خلال تطبيق اقتراح @ a14m :
سوتيون :
lsof -nP +c 15 | grep LISTEN

com.docker.vpnk 35957   18u     IPv4        0t0       TCP *:7501 (LISTEN)
com.docker.vpnk 35957   19u     IPv6        0t0       TCP [::1]:7501 (LISTEN)

ابحث عن العملية التي تستمع إلى المنفذ المحظور واقتلها :
kill -9 35957

ثم أعد تشغيل Docker وكل شيء جيد

يساعد تعطيل Fast Boot على Windows 10

إعادة تشغيل عامل الميناء

لم تنجح إعادة تشغيل عامل الإرساء (عبر أمر "إعادة التشغيل" أو الإنهاء وإعادة التشغيل يدويًا) بالنسبة لي.

إعادة تعيين Docker إلى إعدادات المصنع الافتراضية

ساعدني.

أنها تساعدني عن طريق إعادة تعيين Docker.

مرحبا بك :)

يوم الأربعاء 8 أغسطس 2018 الساعة 10:20 صباحًا كتب Ben [email protected] :

انها تساعدني.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/docker/compose/issues/3277#issuecomment-411311339 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ACPM4OXDOchoiUzCWAwmJM7COIHHwY4yks5uOpE7gaJpZM4IBfG_
.

-
تحياتي الحارة
أنتوني
هاتف. +380669197533
الهاتف 2. +380636564340
باي بال http://paypal.me/Satskiy
http://paypal.me/Satskiy؟ppid=PPC000654&cnac=PL&rsta=en_PL(en_DK)&cust=NN8XJS9XEP22C&unptid=21db79ac-ef8d-11e5-9553-9c8e992ea258&t=&cal=4d776c21ca7d2&calc=4d776c21ca7d2&calf=4d776c21ca7d2&unp_tpcid=ppme-social-business-profile- & page = main: email & pgrp = main: email & e = op & mchn = em & s = ci & mail = sys
ساتسكي. [email protected]

إعادة تشغيل Docker يعمل بالنسبة لي. (Docker لنظام التشغيل Windows ، Docker version 18.06.1-ce, build e68fc7a )

للإضافة إلى تعليق Ray-Eldath: لقد كنت مرتبكًا لأن إعادة تشغيل جهاز الكمبيوتر الخاص بي مرتين لم تنجح (نفس الإصدار: 18.06.1-ce لنظام التشغيل Windows) ، وبالتأكيد إعادة تشغيل جهاز الكمبيوتر الخاص بك يكفي ليعتبر بمثابة إعادة تشغيل Docker أيضًا ، أليس كذلك؟ لذلك أعتقد أن إعادة التشغيل لم تصلحها ، أليس كذلك؟ حسنًا ، لا ، لول. أذهب بالفعل إلى Docker وانقر على "إعادة التشغيل" والآن يعمل.

تحرير: أوه ، مثير للاهتمام ، الآن أعرف لماذا حدث هذا (ربما). إعادة تشغيل جهاز الكمبيوتر الخاص بي خلقت بالفعل هذه المشكلة على ما أعتقد. تحقق من هذا:

https://stackoverflow.com/questions/40668908/running-docker-for-windows-error-when-exposing-ports

اقتباس ذو صلة:

يحتوي آخر تحديث لـ Windows 10 (Fall Creators Update ، 2017) على "ميزة" جديدة. يبدأ تلقائيًا أي تطبيقات كانت قيد التشغيل عند آخر إغلاق.

هذا يعيد تكوين Docker لـ Windows في حالة سيئة. جعل ذلك يبدو أن تلك المنافذ كانت قيد الاستخدام من قبل شيء آخر - كان شبحًا في حد ذاته. يوضح هذا سبب استمرار استخدام هذه المنافذ على الرغم من أنني أوقفت / بدأت حاوياتي وحتى إعادة التشغيل!

بالنظر إلى ذلك ، ما زلت أشك في تحديث Windows 18.06.1-ce ، نظرًا لأن هذه لم تكن مشكلة بالنسبة لي حتى قمت بتحديث ذلك.

لدي Windows 10 Pro على كل من كمبيوتر محمول وسطح مكتب بنفس المشكلة بالضبط. أنا حاليًا أقوم بتشغيل الإصدار: 18.06.1-ce ، ولكن على الأقل الإصدارين السابقتين الأخيرين كان لهما نفس السلوك. هذه مشكلة متسقة وقابلة للتكرار بسهولة ، وتحدث في تكوين شائع جدًا.

هل كلنا نفعل شيئًا خاطئًا ، أم أن هذا شيء يتطلب الإصلاح؟

يمكنك التحقق أيضًا من خلال ACTIVITY MONITOR على OSX. لقد رأيت هذه المشكلة عندما يقوم مستخدم آخر بتسجيل الدخول ويستخدم Docker. اقتل العمليات أو تسجيل الخروج وسيعمل.

لقد حدث هذا على docker for windows مع nginx. لقد أعدت تشغيل عامل الإرساء ولا أراه الآن. بالطبع سيكون موجودًا إذا قمت بإزالة ثم إنشاء حاوية جديدة لـ nginx.

واجهت نفس المشكلة (بدء تشغيل وكيل عكسي nginx على المنفذ 80) على نظام التشغيل Windows 10 ، ربما بسبب تثبيت صندوق افتراضي سابق.

إعادة تعيين عامل الإرساء إلى إعدادات المصنع الافتراضية (رمز النقر بزر الماوس الأيمن في منطقة الإعلام -> الإعدادات -> إعادة التعيين) تم إصلاحه لي.

إعادة تشغيل عامل الميناء. على نظام التشغيل windows 10

thxballmdr ، هذا يناسبني أيضًا.

كنت أعاني من نفس المشكلة. تم استخدام المنفذ 80 بواسطة IIS.

1) اضغط على Run ، واكتب - 'inetmgr' الذي يفتح IIS
2) في الإجراءات (أعلى اليمين) - انقر فوق "إيقاف"
3) قم بتشغيل Docker مرة أخرى

كنت أتلقى نفس المشكلة على MAC moJave بعد تحديث docker-compose. ببساطة إعادة تشغيل عامل الإرساء يعمل على إصلاح المشكلات بالنسبة لي.

نفس الشيء هنا ، لدي macOS Mojave وأعيد تشغيل المشكلات التي تم حلها.

makproductions شكرا.

أتلقى هذه المشكلة بشكل منتظم (على windows) وإعادة تشغيل Docker يحل المشكلة.

Ubuntu 18.04 ، إعادة تشغيل عامل الإرساء يحل المشكلة

لا تزال المشكلة موجودة على Windows في 18.06.1-ce-win73 (19507) Plase أعد فتح هذا.

يحدث هذا عادةً نظرًا لأن postgresql قيد التشغيل واستخدام المنفذ 5432 ، فحاول إيقاف الخدمة وتشغيل docker-compose up --build حتى يتم التهيئة ..

توقف خدمة sudo postgresql
عامل بناء - يؤلف

يجب أن تعمل

امين 002

1. docker rm -f جميع الحاويات.
2. واجهات شبكة ميناء rm.
3.sudo rm /var/lib/docker/network/files/local-kv.db

لقد حاولت هذا الآن أنا عالق مع مشكلة أخرى مثل docker: Error response from daemon: failed to update store for object type *libnetwork.endpointCnt: Key not found in store. . كيف تحل هذه المشكلة ، هل يمكن أن تقترحني .... شكرا.

أدرك أن سلسلة المحادثات هذه لا تزال تثير الكثير من النقاش ، لكنني سأغلقها لأنها لا علاقة لها بـ "الإنشاء" في حد ذاته.

هذه مشكلة عامل ميناء - وليست مشكلة إنشاء عامل عامل ميناء. تم إغلاق هذه المشكلة ، لذا لن تكتسب أي زخم. هناك العديد من المشكلات المفتوحة بالفعل في الريبو الرئيسي. من المحتمل أن تذهب التعليقات إلى هناك:

راجع https://github.com/docker/for-win/issues/2722
و https://github.com/docker/for-win/issues/1967

@ شين - هل يجب أن يكون هذا مؤمنا؟

أحصل على نفس الخطأ في الحالة التالية:
Docker 18.06.1 ، Docker Compose 1.22.0 ، Ubuntu 18.04

بدء d1df6864f98d2599_api_1 لـ d1df6864f98d2599_api_1 يتعذر بدء واجهة برمجة تطبيقات الخدمة: فشل برنامج التشغيل في برمجة الاتصال الخارجي على نقطة النهاية d1df6864f98d2599_api_1 (6b3f4a9c68d6858ace2b39a0296ed41620ff3007b14c7379b539) فشل بالفعل

عندما أقوم ببدء الحاويات باستخدام عامل إنشاء من سطر الأوامر ، فإن الحاوية تسمى src_api_1 ، لأنني أقوم بتشغيل الأمر من مجلد src .

عندما أقوم بتشغيل docker-compose من TeamCity ، يُطلق على الحاوية d1df6864f98d2599_api_1 وأحصل على هذا الخطأ.

الأمر هو docker-compose -f src/docker-compose-production.yml up -d api .

لقد غيرت للتو رقم المنفذ الخاص بي في ملف .yaml وبدأ العمل معي.

في حالتي ، كان ذلك بسبب تحديث كلمة مرور تسجيل الدخول إلى Windows ويبدو أن كلمة المرور الجديدة لم يتم تحديثها إلى عامل الإرساء. اضطررت إلى الانتقال إلى عامل الإرساء للنوافذ -> الإعدادات -> محرك الأقراص المشترك ، وإلغاء تحديد محركات الأقراص المشتركة ، والنقر فوق تطبيق ، ثم التحقق مرة أخرى والتطبيق ، ثم سيطلب منك كلمة المرور. بعد أن أدخل كلمة المرور ، ستعمل مرة أخرى.

هذا مستمر في إصابتي بإعداداتي. لا تؤدي إعادة تشغيل عامل الإرساء إلى تحرير المنفذ على OSX. تؤدي إعادة تشغيل الجهاز المضيف إلى تحرير المنفذ.

تلقيت نفس رسالة الخطأ ، ولكن سبب مشكلتي هو العمل على صفحتين مختلفتين في نفس الوقت.

عند التبديل من أحدهما أيضًا ، نسيت استخدام عامل إنشاء عامل الإرساء ،

كنت أيضًا أواجه نفس المشكلة ولكن بعد وقت طويل التقيت بالحل الأمثل

  1. اكتب docker container ls -a (تحقق من الحاوية التي تستخدم رقم المنفذ هذا)
  2. حاوية عامل ميناء rm -f(قم بإلغاء تخصيص المنفذ عن طريق إزالة تلك الحاوية)
  3. تأكيد الحاوية الجديدة الخاصة بك برقم المنفذ الخاص بك

@ ronakganatra9 مهلا ، لدي سؤال أين يمكنك العثور على المنفذ الخاص بك في ملف .yaml؟

`` PS C: UsersMouazDesktopfernandroidstf-poc> عامل ميناء يؤلف
stf-poc_storage-temp_1_20d132e37939 محدث
stf-poc_dev-triproxy_1_7224046ecd68 محدث
stf-poc_auth_1_f76f43d5e179 محدث
stf-poc_rethinkdb_1_6e5e0628f86c محدث
stf-poc_triproxy_1_7d61645de13d محدث
stf-poc_adb_1_53f170a2d9ae محدث
stf-poc_storage-plugin-apk_1_efbbfa2dc680 محدث
stf-poc_storage-plugin-image_1_ebc249ed0769 محدث ، بدء stf-poc_migrate_1_ebc2c2157fdf ...

بدء stf-poc_migrate_1_ebc2c2157fdf ... انتهى

stf-poc_api_1_713c609d74d5 محدث
stf-poc_reaper_1_cca8849d63b8 محدث
stf-poc_websocket_1_a41866f85947 محدث
stf-poc_app_1_db0fc2088323 محدث
جارٍ بدء e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 ... خطأ

خطأ: لا يمكن لتبدأ e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 مزود الخدمة: b'driver فشل البرمجة الاتصال الخارجي على نقطة النهاية e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 (6033aa098528aac29e541b1d52303e4106c0f7a760222995b4c0b348a7d76941): خطأ بدءا يوزرلاند الوكيل: ربط ل0.0.0.0:7680: غير متوقع إذن الخطأ نفى "

خطأ: بالنسبة للموفر لا يمكن بدء موفر الخدمة: فشل b'driver في البرمجة الخارجية للاتصال على نقطة النهاية e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 (6033aa098528aac29e541b1d52303e4106c0f7a760222995b7c0b341 خطأ غير متوقع لـ provider_1_6961669e5bb1 (6033aa098528aac29e541b1d52303e4106c0f7a760222995b7c06941)
خطأ: تمت مواجهة أخطاء أثناء طرح المشروع.
ملاحظة ج: المستخدمون: MuazDesktopfernandroidstf-poc> docker container ls
أسماء منافذ الحالة التي تم إنشاؤها بأمر صورة معرف الحاويات
d46b94a05e8b stf-poc_nginx "/entrypoint.sh" منذ 2 دقيقة إعادة التشغيل (1) منذ 38 ثانية stf-poc_nginx_1_4c61f58776f1
6674d0116aa9 openstf / stf: الأحدث "stf storage-plugin- ..." منذ ساعتين أعلى حوالي دقيقة 3000 / tcp stf-poc_storage-plugin-image_1_ebc249ed0769
df2e7c721d55 openstf / stf: الأحدث "stf storage-plugin- ..." قبل ساعتين حتى حوالي دقيقة 3000 / tcp stf-poc_storage-plugin-apk_1_efbbfa2dc680
a697ef5e309b openstf / stf: أحدث "تطبيق stf --auth-url…" منذ ساعتين حتى حوالي دقيقة 3000 / tcp stf-poc_app_1_db0fc2088323
fefaebe9340a openstf / stf: الأحدث "stf websocket --por…" منذ ساعتين حتى حوالي دقيقة 3000 / tcp stf-poc_websocket_1_a41866f85947
8a1fd41fa92d stf-poc_storage-temp "stf storage-temp -…" قبل ساعتين حتى حوالي دقيقة 3000 / tcp stf-poc_storage-temp_1_20d132e37939
c7f48e1b4d74 openstf / stf: أحدث "stf reaper dev --co…" منذ 4 ساعات تقريبًا حوالي دقيقة 3000 / tcp stf-poc_reaper_1_cca8849d63b8
293d4cf18ddb openstf / stf: الأحدث "stf api --port 3000…" منذ 4 ساعات تقريبًا حتى دقيقة 3000 / tcp stf-poc_api_1_713c609d74d5
257667df032e openstf / stf: أحدث "معالج stf --con…" منذ 4 ساعات لأعلى حوالي دقيقة 3000 / tcp stf-poc_processor_1_9c46a2ef3b9d
e065f41e2f61 rethinkdb: 2.3 "rethinkdb --bind all" 4 ساعات مضت Up حوالي دقيقة 8080 / tcp، 28015 / tcp، 29015 / tcp stf-poc_rethinkdb_1_6e5e0628f86c
522eb78fc46a sorccu / adb : الأحدث "/ sbin / tini - adb -…" قبل 4 ساعات تقريبًا Up a minutes 5037 / tcp stf-poc_adb_1_53f170a2d9ae
44e03f74b098 openstf / stf: أحدث "تطبيق stf triproxy - ..." قبل 4 ساعات تقريبًا حتى دقيقة 3000 / tcp stf-poc_triproxy_1_7d61645de13d
32f4f65a0d4e openstf / stf: الأحدث "stf triproxy dev -…" قبل 4 ساعات تقريبًا حوالي دقيقة 3000 / tcp stf-poc_dev-triproxy_1_7224046ecd68
7465e46fd2a0 openstf / stf: الأحدث "stf auth-mock --app…" قبل 4 ساعات تقريبًا حوالي دقيقة 3000 / tcp `stf-poc_auth_1_f76f43d5e179
""

هذا ما يحدث معي ، وحاولت إعادة التشغيل وإلغاء التثبيت وإعادة التثبيت ، مسح النقود وإعادة ضبط المصنع ، لا يزال يظهر هذا النوع من الخطأ ، هل تعتقد أنه يجب علي تغيير منفذ ADB من 5037 إلى 3000 / tcp؟

إذا كانت الإجابة بنعم كيف يمكنني فعل ذلك؟
شكر !!

فقط أعد تشغيل Docker . عملت معي.

فقط أعد تشغيل Docker . عملت معي.

هذا عمل لي ايضا! لسبب ما ، لم يعمل بعد إعادة تشغيل جهاز الكمبيوتر ولكنه لم ينجح بعد النقر فوق "إعادة تشغيل عامل الإرساء" في علبة الرموز.

فقط أعد تشغيل Docker. عملت معي.

هذا عمل معي ايضا

نعم ، إعادة التشغيل تعمل ولكنها لا تزال مزعجة حقًا ، يجب أن أفعل ذلك في كل مرة أرغب في تشغيل Docker ...

يمكن إعادة تشغيل عامل الإرساء حل كل شيء ، لأن إعادة تشغيل عامل الإرساء سينظف كل الحاوية قيد التشغيل.

أتحقق من ملف docker compose.yml مرة أخرى ، وحذف الحاوية الموجودة داخل ملف docker-compose.yml أيضًا ، ولا داعي لإعادة تشغيل عامل الإرساء.

استمتع.

قم بتشغيل الأمر التالي واحصل على معرف الحاوية الذي يستخدم المنفذ الذي تريد قتله. استخدم معرف الحاوية وقم بإزالته باستخدام الأمر الثاني.

docker ps -a
docker rm container_id

مرحبًا ، أنا أقوم بتشغيل Docker (الإصدار 18.09.0) وأتلقى الخطأ التالي عند بدء تشغيل sandbox-proxy. الرجاء المساعدة.

C: Program FilesDockerDockerResourcesbindocker.exe: استجابة خطأ من البرنامج الخفي: فشل برنامج التشغيل في برمجة الاتصال الخارجي على وكيل صندوق الحماية لنقطة النهاية (fcc9a4c77b0de66ef7e8c8893b6eafb49f8071e7b9c3b1ce1def3a5e1434358d): تم رفض خطأ في بدء التشغيل الوكيل B11.0.

لقد حاولت إعادة تثبيت / إعادة تشغيل عامل الشحن / النظام ، وإزالة الحاويات ، وما إلى ذلك.
لا شيء ساعد.

مرحبًا ، أنا أقوم بتشغيل Docker (الإصدار 18.09.0) وأتلقى الخطأ التالي عند بدء تشغيل sandbox-proxy. الرجاء المساعدة.

C: Program FilesDockerDockerResourcesbindocker.exe: استجابة خطأ من البرنامج الخفي: فشل برنامج التشغيل في برمجة الاتصال الخارجي على وكيل صندوق الحماية لنقطة النهاية (fcc9a4c77b0de66ef7e8c8893b6eafb49f8071e7b9c3b1ce1def3a5e1434358d): تم رفض خطأ في بدء التشغيل الوكيل B11.0.

لقد حاولت إعادة تثبيت / إعادة تشغيل عامل الشحن / النظام ، وإزالة الحاويات ، وما إلى ذلك.
لا شيء ساعد.

حاول إيقاف عامل الإرساء وإعادة تشغيله مرة أخرى في وضع المسؤول. بعد أن يبدأ فتح power shell في وضع المسؤول أيضًا.
لأن الخطأ يقول "تم رفض الإذن" فربما هذا سيحل مشكلتك. لست متأكدا.

ساعدتني إعادة تشغيل خدمة عامل الإرساء في حل هذه المشكلة.

الإصدار 18.09.0

مرحبًا ، أنا أقوم بتشغيل Docker (الإصدار 18.09.0) وأتلقى الخطأ التالي عند بدء تشغيل sandbox-proxy. الرجاء المساعدة.
C: Program FilesDockerDockerResourcesbindocker.exe: استجابة خطأ من البرنامج الخفي: فشل برنامج التشغيل في برمجة الاتصال الخارجي على وكيل صندوق الحماية لنقطة النهاية (fcc9a4c77b0de66ef7e8c8893b6eafb49f8071e7b9c3b1ce1def3a5e1434358d): تم رفض خطأ في بدء التشغيل الوكيل B11.0.
لقد حاولت إعادة تثبيت / إعادة تشغيل عامل الشحن / النظام ، وإزالة الحاويات ، وما إلى ذلك.
لا شيء ساعد.

حاول إيقاف عامل الإرساء وإعادة تشغيله مرة أخرى في وضع المسؤول. بعد أن يبدأ فتح power shell في وضع المسؤول أيضًا.
لأن الخطأ يقول "تم رفض الإذن" فربما هذا سيحل مشكلتك. لست متأكدا.

هذا لا يحل المشكلة ، لقد بدأت المحطة و docker نفسه في وضع المسؤول وما زال يلقي نفس الخطأ بالضبط.

كان لديه نفس المشكلة اليوم. قمت بتشغيل docker-compose down وأعدت تشغيل خدمة عامل الإرساء التي يبدو أنها تؤدي المهمة.

ERROR: for web_1  Cannot start service web: driver failed programming external connectivity on
endpoint web_1 (5694e5627dbac6cd543d65c764d4b9877fc67557b10f6f8a1f1e7170ffdc8314): 
Error starting userland proxy: mkdir /port/tcp:0.0.0.0:8080:tcp:172.19.0.2:8080: input/output error

ERROR: for web  Cannot start service web: driver failed programming external connectivity on 
endpoint web_1 (5694e5627dbac6cd543d65c764d4b9877fc67557b10f6f8a1f1e7170ffdc8314): 
Error starting userland proxy: mkdir /port/tcp:0.0.0.0:8080:tcp:172.19.0.2:8080: input/output error
Encountered errors while bringing up the project.

أعد تشغيل docker الخاص بي في windows 10 ، ثم يعمل. ^ ^

واجهت نفس المشكلة. إعادة تشغيل عامل الإرساء للنوافذ يساعد.

إذا كنت تستخدم Windows ، فقم بتشغيل netstat -ab وتحقق مما يستخدم المنفذ TCP 0.0.0.0:443 ، بالنسبة لي كان vmware يستخدمه ، على الرغم من أنني خرجت منه

إعادة تشغيل عامل ميناء ليس أفضل حل قوم. (وهو أيضًا أول شيء فعلته)

لدي نفس المشكلة ويمكن حلها عن طريق إعادة تشغيل عامل الإرساء.

فقط إعادة التشغيل وعملت مرة أخرى

لدي نفس المشكلة مع 18.09.1 ​​على Linux. هل يمكن إعادة فتح هذه القضية؟ أو بخلاف ذلك ، يجب فتح مشكلة للحصول على رسالة خطأ أفضل تشير إلى أن هذا ليس في الواقع خطأ عامل ميناء ، كما يبدو.

إذا استمرت في توقع أن يقوم الأشخاص بإعادة تشغيل البرنامج في مرحلة ما ، فسيقومون فقط بنزع عامل الإرساء ؛ ليس الأمر كما لو أنه لا توجد أنظمة حاويات أخرى.

يعمل إعادة تشغيل عامل الإرساء بالنسبة لي لأول مرة فقط. بعد ذلك كلما قمت بضرب الأمر docker run فإنه يعطيني نفس الخطأ. لم يتم إصلاحه بشكل دائم.

ما أحاول تحقيقه:

أحاول فقط إعداد بيئة LEMP (nginx و php-fpm و MySQL) على جهاز centos 7 الخاص بي.

الأوامر:

إعادة تشغيل عامل الإرساء

service docker restart

إنشاء شبكة الجسر

docker network create -d bridge LEMP

قم بتشغيل حاوية php-fpm

docker run --name php-fpm -v /home/ashish/work/docker/php:/app -p "9000:9000" --network LEMP --rm -d php:7-fpm

في أول أمر تشغيل بعد ، يعمل مع الإخراج التالي:

b003815c0ee2fba05aa24b0965871b55ce717fcd56557066acd448519b59498b

iptables -L

"إدخال سلسلة (سياسة DROP)
الهدف حماية المصدر الوجهة
قبول الكل - في أي مكان وفي أي مكان
قبول الكل - في أي مكان وفي أي مكان ذي صلة ، مؤسس
قبول الكل - في أي مكان وفي أي مكان جديد
قبول الكل - في أي مكان وفي أي مكان جديد
قبول ICMP - في أي مكان وفي أي مكان جديد
قبول ICMP - في أي مكان وفي أي مكان جديد
قبول ICMP - في أي مكان وفي أي مكان جديد
قبول ICMP - في أي مكان وفي أي مكان جديد
قبول tcp - في أي مكان في أي مكان tcp spts: 1024 : 65535 dpt: 28082 state NEW

سلسلة إلى الأمام (سياسة DROP)
الهدف حماية المصدر الوجهة

إخراج السلسلة (سياسة إسقاط)
الهدف حماية المصدر الوجهة
قبول الكل - في أي مكان وفي أي مكان
قبول الكل - في أي مكان وفي أي مكان ذي صلة ، مؤسس
قبول tcp - في أي مكان 192.168.40.17 tcp dpt: objcall
قبول الكل - في أي مكان وفي أي مكان جديد
قبول الكل - في أي مكان وفي أي مكان جديد
قبول الكل - في أي مكان وفي أي مكان جديد
قبول tcp - في أي مكان في أي مكان tcp spts: 1024 : 65535 dpt: 28082 state NEW

### If you notice, It has removed my DOCKER chain. Now when i am trying to run my nginx container, It gives me same error:

تشغيل عامل الإرساء --name nginx -v /home/ashish/work/docker/nginx/conf/local.conf:/etc/nginx/conf.d/default.conf -v / home / ashish / work / docker / php: / app -p 80:80 --rm -itd - شبكة LEMP nginx


2dab94327ebbfb1849960df440cd8a1ba15b6253471b77838a5dce139b5cccdc

عامل الإرساء: استجابة خطأ من البرنامج الخفي: فشل برنامج التشغيل في برمجة الاتصال الخارجي على نقطة النهاية nginx (df5852f12bb611dcf0057418e50b3f679efc”1c91af6679c8e44b8a59fe4bf): (فشل iptables: iptables - مرشح -tee -t60 -A DOCKERo-bri39-bre39 .0.3 - dport 80 -j ACCEPT: iptables: لا توجد سلسلة / هدف / تطابق بهذا الاسم. (حالة الخروج 1)).
""

الحل الذي يناسبني:

إصدار عامل ميناء:

docker -v

Docker version 18.09.0, build 4d60db4

إصدار نواة الجهاز القديم:

uname -r

3.10.0-957.1.3.el7.x86_64

تم أخذ آلة أخرى بإصدار نواة مختلف:

uname -r

3.10.0-862.2.3.el7.x86_64

س / ص

انها عملت. لم يحدث خطأ مثل أعلاه. كل شيء يعمل بسلاسة.

لقد غيرت نواة الآلة القديمة الخاصة بي وعملت معي. على الرغم من أن هذا ليس جيدًا لتغيير النواة الخاصة بك خاصة في الإنتاج.

لمستخدمي windows: قم بتعطيل "بدء التشغيل السريع" في إعدادات الطاقة الخاصة بك وهو يعمل!
https://stackoverflow.com/a/47818614

يحتوي آخر تحديث لـ Windows 10 (Fall Creators Update ، 2017) على "ميزة" جديدة. يبدأ تلقائيًا أي تطبيقات كانت قيد التشغيل عند آخر إغلاق.
هذا يعيد تكوين Docker لـ Windows في حالة سيئة. جعل ذلك يبدو أن تلك المنافذ كانت قيد الاستخدام من قبل شيء آخر - كان شبحًا في حد ذاته. يوضح هذا سبب استمرار استخدام هذه المنافذ على الرغم من أنني أوقفت / بدأت حاوياتي وحتى إعادة التشغيل!

يمكن إعادة تشغيل عامل الإرساء حل كل شيء ، لأن إعادة تشغيل عامل الإرساء سينظف كل الحاوية قيد التشغيل.

أتحقق من ملف docker compose.yml مرة أخرى ، وحذف الحاوية الموجودة داخل ملف docker-compose.yml أيضًا ، ولا داعي لإعادة تشغيل عامل الإرساء.

استمتع.

هذا عمل لي شكرا! :)

نفس المشكلة هنا - في حالتي كان تشغيل اباتشي على المنفذ 80 هو المشكلة.

ذكر آخرون أعلاه netstat ، وهذه أداة ممتازة. تم تشغيل مثيل nginx على المنفذ 80. لقد استخدمت netstat -ano | findstr: 80 (cmd) أو bash >> netstat -ano | grep: 80 ، ثم قتل PID

https://stackoverflow.com/a/20724040/7954264

لقد قمت بحلها عن طريق تحديث إصدار windows من 1803 إلى 1809

أوقف برنامج Docker daemon وابدأ كمسؤول.

docker rm $(docker ps -a -q) نجح

آسف لكون هذا الرجل ، ولكن في جهازي ، كانت إعادة تشغيل الكمبيوتر هي الحل. إعادة تشغيل عامل ميناء لم يساعد.

تلقيت نفس رسالة الخطأ وأعدت تشغيل Docker على Windows . فعلت الحيلة.

أولاً ، قم بترقية windows 10 إلى 1809.
بعد ذلك ، قم بإيقاف تشغيل "بدء تشغيل سطح مكتب Docker عند تسجيل الدخول" في إعداد عامل الإرساء.
أخيرًا ، ابدأ تشغيل عامل الإرساء يدويًا (ليس عليك إعادة التشغيل).
لقد انتهت المشكلة وهي تعمل بشكل جيد في جهاز الكمبيوتر الخاص بي.

بالنسبة لي ، فإن إعادة التشغيل اليدوي لرسو السفن جعلها تعمل

نفس المشكلة بالنسبة لي على Mac OS Mojave ، أثناء محاولة إحضار mailu باستخدام عامل الإرساء:

$ docker-compose -p mailu up -d
Creating network "mailu_default" with driver "bridge"
Creating mailu_fetchmail_1 ... 
Creating mailu_redis_1     ... 
Creating mailu_front_1     ... error
Creating mailu_fetchmail_1 ... done
Creating mailu_redis_1     ... done
ERROR: for mailu_front_1  Cannot start service front: driver failed programming external connectivity on endpoint mailu_front_1 (f7085e55644392e76cCreating mailu_antivirus_1 ... done
Creating mailu_admin_1     ... done

ERROR: for front  Cannot start service front: driver failed programming external connectivity on endpoint mailu_front_1 (f7085e55644392e76c6ae5cd6f3be159c58195e0fc85ae8610f2d84d42dbecab): Error starting userland proxy: port is not a proto:IP:port or unix:path: 'tcp:[:'
ERROR: Encountered errors while bringing up the project.
$

وما يلي:

  • سطح المكتب Docker: 2.0.0.3
  • المحرك: 18.09.2
  • الجهاز: 0.16.1
  • كاتب العدل: 0.6.1
  • مساعد الاعتماد: 0.6.0
  • Kubernetes: v1.10.11

لقد قمت للتو بإعادة تشغيل جهاز Mac الخاص بي ، ثم ركضت بعد ذلك

$ docker rm $ (عامل ميناء ps -a -q)

كما أوصى شخص ما.

في ما يلي المقطع ذي الصلة من docker-compose.yml للخدمة "الأمامية":

  front:
    image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-1.6}
    restart: always
    env_file: mailu.env
    logging:
      driver: json-file
    ports:
      - "127.0.0.1:80:80"
      - "::1:80:80"
      - "127.0.0.1:443:443"
      - "::1:443:443"
      - "127.0.0.1:25:25"
      - "::1:25:25"
      - "127.0.0.1:465:465"
      - "::1:465:465"
      - "127.0.0.1:587:587"
      - "::1:587:587"
      - "127.0.0.1:110:110"
      - "::1:110:110"
      - "127.0.0.1:995:995"
      - "::1:995:995"
      - "127.0.0.1:143:143"
      - "::1:143:143"
      - "127.0.0.1:993:993"
      - "::1:993:993"
    volumes:
      - "/Users/rmfuhrer/mailu/certs:/certs"
      - "/Users/rmfuhrer/mailu/overrides/nginx:/overrides"

AFAICT ، ليس لدي أي استماع على أي من المنافذ المذكورة في تكوين عامل الإرساء:

$ netstat -a -f inet -p tcp -n | grep LISTEN
tcp4       0      0  *.17500                *.*                    LISTEN     
tcp4       0      0  127.0.0.1.17603        *.*                    LISTEN     
tcp4       0      0  127.0.0.1.17600        *.*                    LISTEN     
tcp4       0      0  *.49178                *.*                    LISTEN     
tcp4       0      0  127.0.0.1.6670         *.*                    LISTEN     
tcp4       0      0  127.0.0.1.8888         *.*                    LISTEN     
tcp4       0      0  *.88                   *.*                    LISTEN     
tcp4       0      0  *.445                  *.*                    LISTEN     
tcp4       0      0  *.22                   *.*                    LISTEN     
$

بالنسبة لي ، فإن إعادة التشغيل اليدوي لرسو السفن جعلها تعمل

استطيع ان اؤكد ذلك ايضا

نواجه نفس المشكلة على نظام التشغيل windows 10. يبدو أن إعادة التشغيل تؤدي إلى حل المشكلة ولكن يتعين علينا إعادة تشغيلها بضع مرات في الأسبوع. هل هناك حل قادم لهذا؟

أحتاج إلى إعادة تشغيل عامل الإرساء كل يوم .. سأحب حقًا إصلاح هذا الأمر!

ما زال لدي نفس المشكلة. يحدث ذلك إذا قمت بتمكين Fast Startup (ممكّن افتراضيًا) في Windows 10. يمكنك تعطيله -> https://www.windowscentral.com/how-disable-windows-10-fast-startup ومن ثم لن تحتاج لإعادة تشغيل عامل الميناء كل يوم. لكنها مجرد عمل ..

واجهت نفس المشكلة ،
ببساطة إعادة تشغيل عامل ميناء إصلاحه بالنسبة لي

بالنسبة لي ، كان ذلك لأن الحاويات الأخرى كانت تعمل باستخدام هذا المنفذ. لقد غيرت للتو تعيين المنفذ في docker-compose.yml ، على سبيل المثال لخدمة الحاوية memcache :

من عند:

  memcache:
    container_name: project_memcache
    image: memcached:latest
    ports:
        - "11211:11211"

إلى (المنفذ الخارجي التالي عند 11212):

  memcache:
    container_name: project_memcache
    image: memcached:latest
    ports:
        - "11212:11211"

إعادة تشغيل عامل الإرساء يعمل بالنسبة لي

yedincisenol نعم ، لكن الاضطرار إلى إعادة التشغيل كل يوم أمر مزعج بعض الشيء

أواجه نفس المشكلة ونعم إعادة حل مشكلتي. آمل بأن يقوموا بإصلاح هذا.

أعد تشغيل Docker ... هذا فقط

إعادة تشغيل عامل الإرساء على Windows يعمل أيضًا بالنسبة لي: /

إذا كنت تستخدم جهاز Mac ولم يبدأ خادم الويب الخاص بوحدة الإرساء ، فقد تكون مشاركة الملفات - تستخدم Apple برنامج Apache المدمج لذلك. إما...
~توقف sudo apachectl~
أو الأفضل من ذلك ، قم بإيقاف تشغيل مشاركة الملفات.

لدي نفس المشكلة ، والتي تتعلق بـ IIS ، لذلك أوقفت ذلك.

كما قال AarashFarahani . لقد أوقفت IIS ، الذي لم أكن بحاجة إليه لهذا المشروع ، واختفى الخطأ.

لمستخدمي Mac: حاول تخزين httpd ، وخدمات apache.

docker rm $(docker ps -a -q) نجح

لم يعمل معي (Windows 10 ، إصدار Docker 18.09.2)

➜ sudo netstat -nlp | 443
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 501/vmware-hostd tcp6 0 0 :::443 :::* LISTEN 501/vmware-hostd

تم حل المشكلة

فقط أعد تشغيل عامل الإرساء وقم بالنشر مرة أخرى -> يعمل بالنسبة لي

حصلت على نفس المشكلة.

كان الحل البديل (لأنه يبدو أنه النوع الوحيد من الحلول) هو ببساطة تعطيل "بدء تشغيل Docker Desktop عند تسجيل الدخول".
لكن احتفظ بها في برنامج بدء التشغيل في إدارة المهام.

إذا لم تتمكن من العثور عليه في إدارة المهام الخاصة بك ، فيمكنك وضع اختصار في:
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

لذا فإن تخميني هو أن الطريقة التي يستخدم بها Docker "بدء تشغيل Docker Desktop عند تسجيل الدخول" ليست بالطريقة التي يريدها Windows 10.


إصدار عامل ميناء:
18.09.2 ، النسخة 6247962

إصدار Windows:
Windows 10 Pro Insiders Preview 1903 ، النسخة 18898.1000

لم يعمل أي من هؤلاء بالنسبة لي. لقد أدى إيقاف الخدمات (كما هو موضح هنا ) إلى تنفيذ الحيلة أخيرًا:

net stop docker
net stop com.docker.service
taskkill /IM "dockerd.exe" /F
taskkill /IM "Docker for Windows.exe" /F
net start docker
net start com.docker.service
"c:\program files\docker\docker\Docker for Windows.exe"

النقر على أيقونة Docker Desktop في العلبة وتحديد إعادة التشغيل ... عملت معي على Windows 10!

عامل ميناء: استجابة خطأ من البرنامج الخفي: فشل برنامج التشغيل في برمجة الاتصال الخارجي على نقطة النهاية sad_sanderson

إذا كان أي شخص يستخدم Docker Desktop
اتبع الخطوات التالية: (تجنب إعادة تشغيل Docker Desktop)

  • قم بإنهاء Docker Desktop
  • ابدأ تشغيل Docker Desktop مرة أخرى
  • سوف تعمل بشكل جيد

كانت مشكلتي أنني قمت بتهيئة Docker Swarm على جهازي لإجراء بعض التجارب. عاد كل شيء إلى طبيعته بعد تشغيل docker swarm leave --force

إعادة تشغيل عامل الإرساء في كل مرة لهذه المشكلة هو مجرد حل بديل. بل إنه يحل المشكلة لأنه يوقف جميع الموانئ التي قد تشغلها الحاويات. لكن المشكلة الحقيقية هي أن المنافذ التي تم الإبلاغ عنها لا تظهر مع netstat أو مع أمر docker ps ، لذلك يصبح تحديد الحاوية التي تستخدم المنفذ مشكلة حقيقية.

إذا وجد أي شخص طريقة أخرى غير Docker Restart أو تعطيل Fast Startup ، يرجى النشر هنا.

بالنسبة لي ، فإن إعادة التشغيل اليدوي لرسو السفن جعلها تعمل

استطيع ان اؤكد ذلك ايضا

نعم على Win10 ، هذه هي الحيلة

تضمين التغريدة

الحل : ببساطة قم بتعطيل "بدء Docker Desktop عند تسجيل الدخول".
لكن احتفظ به عند برنامج بدء التشغيل (على سبيل المثال ، انسخ رابط عامل التحميل في مجلد بدء التشغيل هنا:
٪ USERPROFILE٪ AppDataRoamingMicrosoftWindows قائمة البدءالبرامج بدء التشغيل

سيؤدي هذا إلى بدء تشغيل Docker لاحقًا بعد تسجيل الدخول وهذا يعمل مع العديد من الأشخاص.

win + r> cmd (تشغيل كمسؤول)> netstat -aon | أكثر
ثم نبحث عن عنوان محلي مع المنفذ: 8000 ، تذكر PID ،> ctrl + alt + del انتقل إلى طي "التفاصيل" ، ابحث عن عملية بمعرف مثل PID> قم بإزالة المهمة (أكمل المهمة)> أعد تشغيل Docker> وأعد تشغيل (تشغيل) عامل ميناء يؤلف.
هذا ينبغي حل المشكلة
الخيار 2: فقط افتح docker-compose.yml وقم بتغيير المنفذ من 8000 إلى أي منفذ آخر (المنافذ:
- "8000: 80")> قم بتشغيل عامل الإرساء

تواجه نفس المشكلة هنا ، ولكن إعادة تشغيل Docker / Windows / Hyper-V تؤدي جميعها إلى الفشل.
ها هي النسخة المطبوعة التي أحصل عليها من نص التشغيل الخاص بي.
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint pihole (c3b944c90dc0b7d948c3dd833becc51b754174a56c36272cda325611d9b792f5): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
معرف دياج:
5C4CFABD-4AEA-4F67-9016-E9B6D58A3934/20190918072240
البرنامج النصي للتشغيل الأولي: (إذا كان يساعد)
docker run -d --name pihole -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 80:80 -p 443:443 -v "${DOCKER_CONFIGS}/pihole/:/etc/pihole/" -v "${DOCKER_CONFIGS}/dnsmasq.d/:/etc/dnsmasq.d/" -e ServerIP="${IP}" --restart=unless-stopped --cap-add=NET_ADMIN --dns=127.0.0.1 --dns=1.1.1.1 pihole/pihole:latest
لمحاولة إعادة تشغيل الحاوية ، أنا أستخدم ببساطة
docker start pihole
يبدو أن الطباعة تشير إلى أنه خطأ في الأذونات ، لذلك حاولت تشغيل Docker Desktop _ و_ Powershell بأذونات مرتفعة ، لكنني ما زلت أتلقى نفس الخطأ. وعندما أقول نفس الشيء ، أعني أنه حرفي في كل مرة.

بالنسبة لأولئك الذين يستخدمون نظام Mac ، جرب هذا الأمر لمعرفة العمليات وإيقافها (لم تعمل الأوامر الأخرى من أجلي):

sudo lsof -iTCP -sTCP:LISTEN -n -P

ساعدتني إعادة تشغيل Windows.
دوكر 2.1.0.3.38240

إعادة تشغيل عامل الإرساء على MAC OS X MOJAVE لا يصلح هذه المشكلة بالنسبة لي.
أحاول كشف منافذ متعددة ، مثل 5066 و 5086 و 8021 وبعض المنافذ الأخرى.

الجري مع sudo يعمل معي.

كانت مشكلتي مع 5000 منفذ

$ docker ps

CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS              PORTS                    NAMES
d21a21826483        web                        "watchexec --restart…"   3 weeks ago         Up 28 hours         0.0.0.0:5000->5000/tcp   web_1

ثم بعد إيقاف الحاوية مع 5000 منفذ ، ساعدتني.

$ docker stop d21a21826483

وجدت هذا الموضوع ، ولم يساعدني أي مما سبق.

أنا أقوم بتشغيل Ubuntu واضطررت لاستخدام:

sudo service docker restart

لقد جربت prune وكانت جميع الأوامر الأخرى و docker متأكدًا من أنه لا يعمل ، ولكن بعد إعادة تشغيل الخدمة ، بدأ كل شيء في العمل مرة أخرى

واجهت نفس المشكلة وجربت ما ورد أعلاه ولكن لم ينجح أي منها معي.
ما نجح هو إعادة تشغيل Windows.

بالنسبة لأي شخص على نظام التشغيل windows ، إذا قمت بتشفير هذه المشكلة بعد إيقاظ النوافذ من وضع السكون ، فإن إعادة تشغيل الكمبيوتر يحل المشكلة بالنسبة لي.
كانت هناك مشكلة سابقة مماثلة حول التعزيز السريع على النوافذ وأفترض أن هذين الأمرين مرتبطان ...

أدى هذا إلى حل مشكلتي على windows:

  • docker-compose down
  • إغلاق سطح مكتب عامل ميناء.
  • قتل خدمة عامل الميناء
    image
  • بدء عامل الإرساء ، ستطلب منك نافذة منبثقة تنشيط خدمة عامل الإرساء عبر net.exe ، قبول
  • docker-compose up

أعد تشغيل Docker ... هذا فقط

يعد هذا حلًا رائعًا ، ولكن إعادة التشغيل تشير إلى وجود خطأ ويجب عدم إغلاق هذه المشكلة.

ما نجح بالنسبة لي هو إعادة تعيين docker desktop إلى قيم المصنع.

حاولت ما ورد أعلاه ولكن دون جدوى. لقد نجحت في العمل عن طريق مسح ذاكرة التخزين المؤقت لرسالة الميناء بالكامل عن طريق التشغيل:

docker ps -aq | xargs docker rm -f && \ docker images -q | xargs docker rmi -f && \ docker volume list -q | xargs docker volume rm -f

3 سنوات وهذا الخطأ لا يزال على قيد الحياة وبصحة جيدة ...

لدي نفس الخطأ. مندهش جدا أن هذا الخيط يمتد على طول الطريق حتى الآن

sudo apachectl stop نجح هذا الأمر بالنسبة لي حيث يبدو أن apache كان يعمل على Mac

نظام التشغيل Windows 10:
عامل تشغيل ps -a
عامل ميناء rm $ (عامل ميناء ps -a -q)
عامل الميناء يؤلف

لدي نفس الخطأ. مندهش جدا أن هذا الخيط يمتد على طول الطريق حتى الآن

نجح هذا بالنسبة لي:

cd /usr/libexec/docker/
ln -s docker-proxy-current docker-proxy
service docker restart

تواجه نفس المشكلات في Oracle Linux. ساعدت إعادة تشغيل خدمة Docker.

أدى هذا إلى حل مشكلتي على windows:

  • docker-compose down
  • إغلاق سطح مكتب عامل ميناء.
  • قتل خدمة عامل الميناء
    image
  • بدء عامل الإرساء ، ستطلب منك نافذة منبثقة تنشيط خدمة عامل الإرساء عبر net.exe ، قبول
  • docker-compose up

الحل أعلاه يناسبني ، شكرًا.

عند تشغيل عامل الإرساء ، حصلت على هذا أدناه.
عند إعادة تشغيل عامل الإرساء ، ما زلت أحصل على هذا أدناه.
عندما توقفت خدمة الرصيف وأعيد تشغيلها ، انتهى احتلال الميناء ، يعمل عامل الرصيف مرة أخرى.

**netstat -aon|findstr "5601"**
  TCP    0.0.0.0:5601           0.0.0.0:0              LISTENING       9512
  TCP    192.168.6.202:55601    203.208.41.75:443      TIME_WAIT       0
  TCP    [::]:5601              [::]:0                 LISTENING       9512

**tasklist|findstr 9512**
com.docker.backend.exe        9512 Services                   0     10,916 K

كنت أواجه هذه المشكلة على Ubuntu 18.04 ، تمامًا كما في @ Jason-2020 ، حيث أدت إعادة تشغيل خدمة docker إلى تحرير المنفذ بالنسبة لي أيضًا في نظامي.

على الرغم من أنه غير منطقي كما يبدو ، فقد نجحت إعادة تشغيل الخدمة.

(لم تكن بحاجة إلى مسح أي ذاكرة تخزين مؤقت أو ملفات قديمة أو أي شيء.)

لمشكلة windows يمكن حلها بسهولة:
فقط أعد تشغيل عامل الإرساء وحاول تشغيل الخادم مرة أخرى.
image

اعتبارًا من اليوم ، لا يزال استخدام W10 يواجه هذه المشكلة.
إعادة تشغيل عامل الإرساء ، لا تزال المشكلة.
رصيف مغلق وإعادة فتحه ، لا تزال المشكلة.

لم يعمل معي أي من الحلول الأخرى: /

اعتبارًا من اليوم ، لا يزال استخدام W10 يواجه هذه المشكلة.
إعادة تشغيل عامل الإرساء ، لا تزال المشكلة.
رصيف مغلق وإعادة فتحه ، لا تزال المشكلة.

لم يعمل معي أي من الحلول الأخرى: /

جرب مع حل LoiCha. إنه الحل الوحيد الذي نجح معي بالفعل.

مجرد تنبيه ، لقد واجهت هذه المشكلة مع Amazon ECS (وضع EC2) ، عند محاولة إطلاق تعريف مهمة جديد. تبين أن شيئًا آخر كان يستمع بالفعل على هذا المنفذ في مضيف EC2. أوقفت العملية وتمكن تعريف المهمة من البدء بشكل طبيعي.

أدى إيقاف خدمة عامل الإرساء في مدير المهام إلى حل مشكلتي في W10

@ tsantos84 سيتم تشغيل Docker داخل جهاز

جرب ما يلي (لم أختبر هذا رغم ذلك):

* `docker rm -f $(docker ps -aq)` (will remove all of your containers)

* `docker network rm $(docker network ls -q)` (will remove all of your networks)

* `docker run --rm -v /var/lib/docker/network/files:/network busybox rm /network/local-kv.db`

ثم أعد تشغيل Docker لنظام التشغيل Mac ويجب أن تكون على ما يرام لإجراء +1

شكرا لك! لقد ساعدني في حل المشكلة بسرعة.

@ tsantos84 سيتم تشغيل Docker داخل جهاز
جرب ما يلي (لم أختبر هذا رغم ذلك):

* `docker rm -f $(docker ps -aq)` (will remove all of your containers)

* `docker network rm $(docker network ls -q)` (will remove all of your networks)

* `docker run --rm -v /var/lib/docker/network/files:/network busybox rm /network/local-kv.db`

ثم أعد تشغيل Docker لنظام التشغيل Mac ويجب أن تكون على ما يرام لإجراء +1

شكرا لك! لقد ساعدني في حل المشكلة بسرعة.

مرحبًا @ fede-r1c0 ، لا أعرف لماذا ذكرتني وربما أردت تحديد مستخدم آخر. على أي حال ، أنا سعيد لأنك حللت مشكلتك. 👍

تضمين التغريدة
هل يمكنك نشر o / p لـ sudo netstat -nlp | grep 8123 . شكر.

و sudo service {nameOfService} تتوقف

لقد واجهت نفس السلوك ، ولكن لتجاوز الخدمة ، من خلال إنشاء docker-compose.override.yml . الملفات المستخدمة:

docker-compose.yml :

version: '3.2'
services:
  app:
    build:
      context: ./
    ports:
     - "8000:80"
    volumes:
     - ./:/app

docker-compose.overrride.yml :

version: '3.2'
services:
  app:
    ports:
     - "8001:80"

هذا يعطيني متابعة الخطأ غير المتوقع:

ERROR: for my_app_1  Cannot start service app: driver failed programming external connectivity on endpoint my_app_1 (9235372fe636fba32be67f9f101a3432139c691a41fc6d207e53c98e25139a29): Bind for 0.0.0.0:8000 failed: port is already allocated

ERROR: for app  Cannot start service app: driver failed programming external connectivity on endpoint my_app_1 (9235372fe636fba32be67f9f101a3432139c691a41fc6d207e53c98e25139a29): Bind for 0.0.0.0:8000 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

توقعت أن التوجيه ports في docker-compose.override.yml سيتجاوز نفس الشيء في docker-compose.yml (المنفذ 8000 على جهازي مخصص بالفعل بواسطة تطبيق آخر ، ولهذا السبب أنا حاول التجاوز) لكن هذا لم يحدث ، وهذا خطأ ويبدو أنه خطأ.

نظام التشغيل: Windows 10
عامل ميناء: 19.03.12, build 48a66213fe

في حالتي ، كانت المشكلة بسبب تشغيل consul محليًا ولكن أيضًا في حاوية.

بالنسبة لي ، كان الأمر متعلقًا بجدار الحماية ، في CentOS 7 ، قم بتشغيل docker بشكل طبيعي عند العمل ، ثم أوقف جدار الحماية أو أعد تشغيله فقط ، وحاول الآن إعادة تشغيل حاوية docker ، وفشل هذا الخطأ. أعد تشغيل خدمة عامل الإرساء وحاول مرة أخرى ... تعمل بشكل جيد.

لقد واجهت نفس السلوك.
أدى هذا إلى حل مشكلتي في centos7:
ps -ef | grep docker
kill the "...dockerd -H fd:// --containerd=/run/containerd/containerd.sock" process

وجدت هذا الموضوع ، ولم يساعدني أي مما سبق.

أنا أقوم بتشغيل Ubuntu واضطررت لاستخدام:

sudo service docker restart

لقد جربت prune وكانت جميع الأوامر الأخرى و docker متأكدًا من أنه لا يعمل ، ولكن بعد إعادة تشغيل الخدمة ، بدأ كل شيء في العمل مرة أخرى

شكرا لك! HOLY FK ، لقد أمضيت يومًا كاملاً في محاولة لإصلاح هذا.
العام هو 2020 ، هذه 4 سنوات وما زالت هذه المشكلة قائمة. WTF

هل كانت هذه الصفحة مفيدة؟
5 / 5 - 1 التقييمات