Compose: "driver gagal memprogram konektivitas eksternal pada endpoint" (1.7.0-rc1)

Dibuat pada 6 Apr 2016  ·  278Komentar  ·  Sumber: docker/compose

Saya cukup yakin ini berfungsi pada docker-compose 1.7.0-rc1 sebelum saya menginstal Docker terbaru untuk Mac beta, yang ditingkatkan ke docker 1.11.0-rc3. Saya mencoba menjalankan layanan socat pada port 172.17.0.1:8123, sehingga tersedia untuk build buruh pelabuhan. Yml asli saya menggunakan variabel lingkungan untuk alamat IP, tetapi itu terjadi bahkan ketika di-hardcode.

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"

verbose.txt

arenetworking

Komentar yang paling membantu

Harap hentikan pengiriman +1, karena ini akan mengirim spam ke semua kotak masuk pelanggan. Gunakan emotikon (smiley di sebelah kanan setiap komentar) atau setidaknya berikan pengaturan lengkap, nomor versi, dan sebagainya. Terima kasih

Semua 278 komentar

@jamur_kejang
Dapatkah Anda memposting o / p sudo netstat -nlp | grep 8123 . Terima kasih.

Mac saya mengatakan -p membutuhkan argumen, jadi saya pikir inilah yang Anda inginkan:

$ 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

hal yang sama terjadi padaku.

Saya mendapatkan masalah yang sama saat memulai ulang menggunakan docker-compose. Dalam kasus saya, ini adalah layanan proxy nginx yang gagal dimulai. Harus terkait dengan Docker untuk Mac beta. Ini dimulai setelah saya menginstal beta dan tidak terjadi setelah beralih kembali ke Virtualbox.

docker-compose versi 1.7.0, build 0d7bf73
Docker versi 1.11.0, build 4dc5990

Saya mendapatkan kesalahan yang sama ketika saya mencoba untuk memulai stack saya menggunakan docker-compose. Semua kontainer dimulai dengan benar kecuali satu (konsul). Saya mendapatkan kesalahan ini

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

Saya yakin itu ada hubungannya dengan versi buruh pelabuhan beta saya untuk mac.

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

Saya menggunakan versi beta buruh pelabuhan terakhir untuk mac

`
versi buruh pelabuhan
Klien:
Versi: 1.11.1.0
Versi API: 1.23
Go versi: go1.5.4
Git commit: 5604cbe
Dibangun: Rabu 27 Apr 00:34:20 2016
OS / Arch: darwin / amd64

Server:
Versi: 1.11.1.0
Versi API: 1.23
Go versi: go1.5.4
Git commit: 8b63c77
Dibangun: Jum 29 Apr 14:13:26 2016
OS / Arch: linux / amd64
`

Mengikuti pesan di atas, saya mendapatkan Error starting userland proxy: Failed to bind: EADDRINUSE.
Bingung di mana konflik itu tidak pernah ada sebelumnya

Bagaimana cara "melepaskan" port yang sedang digunakan sehingga penulisan dapat memunculkan container lagi? Pertama kali itu terjadi, saya menunggu sekitar satu menit dan itu berhasil pada upaya kedua. Kedua kalinya, sudah sekitar satu jam. Docker compose kill, down, rm --all, dll. Dan sesuatu masih menahannya.

Saya mencari tahu apa masalahnya, wadah (konsul) yang menyebabkan masalah memiliki port pengikat ini 172.17.0.1:53:8600/udp . Saya menggantinya dengan 53:8600/udp dan sekarang berfungsi. Saya belum mengerti mengapa penjilidan pertama tidak berhasil. BTW, Bagaimana saya bisa tahu alamat ip bridge?

Halo, Saya mengalami masalah yang sama dengan Docker versi 1.11.1 di Mac OSX.
ERROR: for nginx driver failed programming external connectivity on endpoint managercentralapp_nginx_1 (e11d19ee8f486a2e12c9c87802dca7ea5f541f026645f69e338e94732ac1eb56): Error starting userland proxy: Failed to bind: EADDRINUSE

Saya juga mendapatkan ini setelah memutakhirkan ke Docker 1.12-rc2, tidak yakin apakah ini tempat yang tepat untuk memposting ini.

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

Kesalahan penuh:

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

netstat:

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

Saya melihat ini secara sporadis. Mencoba kembali perintah setelah satu menit biasanya "memperbaiki" masalah.
Ini setelah pindah ke Docker untuk Mac kemarin.

$ 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

Saya juga mendapatkan kesalahan yang sama seperti kalian. Saya percaya itu karena nginx mengikatnya pada port yang sudah digunakan tetapi saya tidak berpikir sekarang. Apakah ada yang menemukan solusi untuk ini? :)

+1 Kesalahan yang sama di mac

Saya mengalami ini terjadi setelah pindah ke Docker for Mac , tetapi setelah menghentikan dan menghapus Semua kontainer setelah pindah, restart buruh pelabuhan, membuat ulang kontainer dll dll. Itu sudah diperbaiki.

Saya mengalami ini lagi hari ini setelah pembaruan Docker for Mac , tetapi mengulangi skenario di atas tetap. Saya berasumsi bahwa port (dan hal-hal "lain") yang saya tetapkan ke container tertentu tidak dilepaskan sampai benar-benar dibersihkan.

misalnya:

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 memiliki masalah yang sama di mac

@TuningGuide MacBook Pro (15 inci, Akhir 2011), 2,2 GHz Intel Core i7, 8 GB 1333 MHz DDR3
Menjalankan Node 4.4.7 diperpanjang untuk mendukung Ember CLI. Setup di bawah ini:

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

Dijalankan dengan volume yang terpasang dari file ember-cli menggunakan 'ember serve' sebagai perintah.

+1 masalah yang sama di mac dengan buruh pelabuhan untuk mac

Harap hentikan pengiriman +1, karena ini akan mengirim spam ke semua kotak masuk pelanggan. Gunakan emotikon (smiley di sebelah kanan setiap komentar) atau setidaknya berikan pengaturan lengkap, nomor versi, dan sebagainya. Terima kasih

➜  ~ 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

Mendapat kesalahan berikutnya:

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.

Solusi yang ditemukan untuk orang-orang dengan kesalahan yang sama seperti yang saya tunjukkan di atas.
Saya sebelumnya menggunakan Docker Toolbox, tetapi saya tidak menghapus Virtualbox. Itu menggunakan port saya jadi saya tidak bisa memulai. Setelah selesai menghapus VirtualBox, docker-compose bekerja dengan luar biasa.

@aanand @dnephin tolong, tambahkan ke Getting Started peringatan seperti dijelaskan di atas.

@miraage senang mendengar Anda memecahkan masalah Anda.
Saya tidak memiliki data volume + dump.sh Anda tetapi melakukan penulisan cepat tanpa masalah:

Creating driverfailed_cache_1
Creating driverfailed_db_1
Attaching to driverfailed_cache_1, driverfailed_db_1

@jamshid Mengapa Anda menentukan IP untuk socat (tidak terbiasa dengannya)? Bagaimana Anda menggunakannya?
Melakukan docker-compose up tanpa IP saya tidak punya masalah:

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

Jika tujuan Anda adalah agar http_cache Anda berbicara dengan penampung socat, mengapa tidak meletakkannya di jaringan yang sama dan selesai dengannya?

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:

Nah, saya menggunakan mesin buruh pelabuhan 1.11.2 di centos7 dalam aliran Continuous Build / Integration untuk mengotomatiskan pengujian dan sejauh yang saya tahu, akhirnya kesalahan ini muncul meskipun tidak ada penampung yang berjalan (saat menerapkan ulang versi tertentu dari seluruh tumpukan layanan). Juga tampaknya terkait dengan fakta bahwa terkadang mesin galangan kapal mendapat kesalahan saat mencoba membersihkan setelah penghapusan kontainer yang berjalan, dan beberapa aturan iptables mungkin tetap mengalokasikan port jaringan karena alasan tertentu, mungkin terkait dengan https://github.com/ buruh pelabuhan / buruh pelabuhan / issues / 23371 # Issuecomment -229982105 - tapi saya masih tidak yakin tentang itu.

Saya memiliki masalah yang hampir sama, dengan Docker untuk Mac, menjalankan container postgresql. Jadi, bagi saya itu disebabkan oleh postgres yang berjalan pada port yang sama pada sistem host dengan port yang ditentukan dalam file konfigurasi penulisan saya. Hal yang cukup jelas, tetapi bisa membantu seseorang yang saya kira.
Terima kasih untuk alat yang keren. 👍

Saya memiliki masalah yang sama Docker untuk Mac yang menjalankan wadah nginx, port 80 saya digunakan oleh apache (asli). Saya menggunakan telnet dan netstat untuk melihat layanan yang berjalan.

Bagi saya itu adalah cumi-cumi, saya menghentikan cumi-cumi dan tidak melihatnya lagi. Jadi saya pikir itu mungkin ada hubungannya dengan apa pun yang mengambil port dan jika kita memaksa buruh pelabuhan untuk memetakan port itu.

Sama di sini seperti @marcosalberto dan lainnya. Pos yang saya coba pasang postgres sudah digunakan. Saya baru saja mengubah port dan semuanya bekerja dengan baik.

pada osx server web apache bawaan mungkin berjalan pada port 80/443. Untuk memeriksa:
ps -ef | grep httpd

Untuk mematikannya:
sudo apachectl berhenti

Ya, ini berhasil untuk saya. Saya memiliki OS X tanpa apache yang diaktifkan, tetapi beberapa hari kemudian saya menggunakan situs web ini: https://coolestguidesontheplanet.com/upgrade-php-on-osx/ untuk memperbarui PHP.

Setelah skrip ini

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

disarankan untuk memperbarui php apache telah diaktifkan dan saya mendapat kejutan dengan wadah saya.

Ketika kita ingin "update php" kita tidak ingin "mengaktifkan apache", tapi website di atas menempati posisi pertama di google :(

Selamat merapat!

Kadang-kadang docker-compose gagal memulai container yang diinginkan dan membiarkan port sibuk dengan proses mendengarkan .. jadi coba daftarkan semua port (mendengarkan) menggunakan

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

MEMPERBARUI:
Saya juga mampu mereproduksi masalah ini (beberapa kali) ... memulai layanan lokal yang mendengarkan pelabuhan XXX dan mulai wadah yang mengekspos sama XXX pelabuhan ...
itu akan gagal menjalankan docker-compose up dan proses com.docker.slirp tidak akan mati menyebabkan masalah tetap ada sampai proses com.docker.slirp mati secara manual (saya bahkan menambahkan alias untuk melakukannya alias portfix='pkill com.docker.slirp' )

+1 di Mac

@ mad-raz solusi yang bagus! Terima kasih!

Memiliki jenis kesalahan yang sama
Error starting userland proxy: write /port/tcp:0.0.0.0:80:tcp:172.17.0.5:80/ctl: errno 526

Itu nginx bagi saya.
Saya harus membunuh nginx untuk mengatasinya sudo nginx -s stop

+1 di sini juga.

Mencoba solusi yang disarankan @ mad-raz, dan menghapus semua reservasi, tetapi mereka kembali setelah beberapa detik. Sepertinya proses com.docker.slirp dimunculkan kembali oleh layanan pengawas. Akibatnya, error muncul di docker-compose berikutnya.

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

docker-compose versi 1.8.0-rc2, build c72c966

Setelah mematikan Docker untuk Mac, proses ini tetap ada.
% 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 di mac :(

Solusi dengan mencopot pemasangan buruh pelabuhan dari menu bilah atas (ikon Docker> Preferensi> Copot Pemasangan) dan pasang kembali :(

Terima kasih @ alexander-emelyanov!
Saya tiba-tiba mendapat kesalahan ini saat menjalankan docker-compose up -d untuk proyek saya di OS X dan tidak membuat hubungan dengan fakta saya telah menginstal PHP 7 di Mac saya (sehingga pemeriksaan sintaks SublimeText bekerja dengan benar) dengan skrip Liip hari yang sama.

Itu memang karena Apache memulai di Mac saya, dan saya harus menghentikannya.

Saya mengalami masalah dengan menjalankan postgres. Saya memverifikasi bahwa postgres tidak berjalan di mesin host saya dengan brew services stop postgres . Saya menjalankan lsof -i :5432 dan mendapatkan output berikut:

image

Apakah buruh pelabuhan menjalankan postgres untuk sesuatu yang internal? Ketika saya menghentikan proses dengan SIGINT, ikon bilah status buruh pelabuhan mulai bergulir dan memulai ulang layanan. Satu-satunya cara agar saya dapat menjalankannya adalah dengan mengubah port host di file penulisan buruh pelabuhan saya.

Baca, ada solusi yang menjelaskan dengan tepat bahwa https://github.com/docker/compose/issues/3277#issuecomment -232505775

@ mad-raz Saat mematikan proses, Docker (untuk Mac) secara otomatis segera restart, dan port yang sama digunakan lagi hanya beberapa detik setelah ...

Saya akhirnya mengatur ulang Docker (dan karena itu menghapus semua kontainer), dan itu berfungsi lagi, semua port dilepaskan 😕

Masalah ini sebenarnya dua masalah:

  1. Ada pesan kesalahan yang membingungkan ketika port sudah digunakan oleh aplikasi lain (misalnya Apache). Itu telah diperbaiki di Docker 1.12.0 (sekarang secara eksplisit mengatakan "port sudah dialokasikan").
  2. Setelah menghentikan kontainer, port yang mereka gunakan terkadang masih dipetakan pada localhost .

Apakah ada yang masih mengalami masalah no. 2 setelah memutakhirkan Docker untuk Mac ke versi terbaru ( 1.12.0 , atau 1.12.0-beta21 jika Anda menggunakan saluran beta)?

Saya masih mendapatkan masalah ini.
Docker v1.12, Docker Compose v1.8.

Punya layanan nginx yang tidak bisa dimulai, serta berbagai layanan lainnya yang terkadang gagal:

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

Mencoba memulai ulang, menghentikan seluruh proyek dan membuat ulang, tetapi tidak ada yang berhasil.

Output dari sudo netstat -tulpn | grep 80 :

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

Info Docker:

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

Versi: kapan:

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

Perlu dicatat bahwa proyek penulisan saya memiliki 29 layanan di dalamnya.

Juga aneh bahwa ketika Docker bergantung pada port 80 tanpa alasan, saya tidak dapat terhubung ke port 80 dari host lain. Ketika port 80 secara sah digunakan oleh sebuah kontainer, port 80 dapat diakses secara eksternal dengan baik.

salah satu penyebab masalah ini, adalah salah mengonfigurasi docker-compose.yml jika port tidak digunakan di luar kontainer, seharusnya expose: d bukan ports: ed
karena menggunakan ports mengekspos port ke kontainer layanan lain dan ke mesin host ... sementara expose hanya mengekspos port ke kontainer layanan lain (tidak mengganggu pemetaan port host) ...

Masalah saya bukanlah masalah konfigurasi (setidaknya menurut saya tidak demikian).
Saya dapat me-restart Docker Daemon dan me-restart semua container saya dan setiap kali akan ada container berbeda yang gagal karena kesalahan. Tampaknya bug di Docker yang bergantung pada port seharusnya tidak demikian.

Dalam kasus saya di atas dengan nginx, bahkan jika saya menghapus container nginx dan memulai ulang daemon docker, buruh pelabuhan masih mendengarkan pada port 80 dan 443: /

Jadi saya berhasil memperbaiki masalah saya. Idealnya saya tidak ingin menghapus Docker karena saya ingin menyimpan semua gambar saya, saya sudah mengunduh cukup banyak! Alih-alih, saya menghapus semua jaringan khusus saya, membuang semua penampung saya dan kemudian menghapus docker/network/files/local-kv.db dan menghidupkan ulang mesin saya.

Tampaknya sesuatu secara internal di Docker rusak di file ini dan bertahan, dan tidak ada cara untuk menghapus atau memperbaikinya. Ini mungkin karena saya memulai pada versi 1.11, kemudian melalui semua kandidat rilis 1,12 dan sekarang pada 1,12, jadi mungkin sesuatu di sepanjang jalur peningkatan memecahkannya.

Sekarang tampaknya berfungsi dengan baik 😄
Saya memiliki file local-kb.db lama yang disimpan jika ada orang dari tim Docker yang ingin melihatnya jika itu akan berguna. Singkatnya, masalahnya adalah daemon yang mendengarkan pada port 80 dan 443 meskipun tidak ada kontainer yang mendengarkan pada port tersebut.

Saya punya masalah yang sama. Menghapus semua wadah, jaringan dan lokal-kv.db + restart ... sekarang berfungsi lagi.

Ini juga terjadi dengan buruh pelabuhan 1.12.0, buruh pelabuhan-menulis 1.8 dan swarm 1.2.4 di ubuntu. Menggunakan konsul untuk kv. endpoint bergabung di Jaringan GW gagal: driver gagal memprogram konektivitas eksternal pada gateway titik akhir. Penampung tempat kesalahan terjadi tetap dalam keadaan dibuat sampai Anda membersihkannya.

Kesalahan yang sama di Debian:

# 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

kesalahan yang sama di ubuntu 16.04LTS.

versi buruh pelabuhan
Klien:
Versi: 1.12.1.0
Versi API: 1.24
Go versi: go1.6.3
Git commit: 23cf638
Dibangun: Kam 18 Agustus 05:33:38 2016
OS / Arch: linux / amd64

Server:
Versi: 1.12.1.0
Versi API: 1.24
Go versi: go1.6.3
Git commit: 23cf638
Dibangun: Kam 18 Agustus 05:33:38 2016
OS / Arch: linux / amd64

versi docker-compose
docker-compose versi 1.7.1, build 0a9ab35
versi docker-py: 1.8.1
Versi CPython: 2.7.9
Versi OpenSSL: OpenSSL 1.0.1e 11 Feb 2013

Langkah 3: JALANKAN rm /etc/nginx/conf.d/default.conf
-> Menggunakan cache
-> 18fabfe71380
Langkah 4: TAMBAHKAN default.conf /etc/nginx/conf.d/
-> Menggunakan cache
---> ad8c17a883c9
Berhasil membangun ad8c17a883c9
Membuat uauth_fpm_1
Membuat uauth_redis_1
Membuat uauth_web_1

GALAT: untuk driver web gagal memprogram konektivitas eksternal pada titik akhir uauth_web_1 (1a1e10881709d37b7b242f43dca561802ddf19d67f713cfd05eb2cdae3c4b0c0): Ikatan untuk 0.0.0.0:443 gagal: port sudah dialokasikan
Traceback (panggilan terakhir terakhir):
File "", baris 3, masuk
File "compose / cli / main.py", baris 63, di main
AttributeError: Objek 'ProjectError' tidak memiliki atribut 'msg'
buruh pelabuhan-menulis kembali -1

ikuti metode madjam002 membuat ini terpecahkan.

  1. buruh pelabuhan rm -f semua kontainer.
  2. antarmuka jaringan docker rm jaringan.
  3. sudo rm /var/lib/docker/network/files/local-kv.db
    dan restart, itu berhasil. terima kasih sobat.

Saya tidak dapat menemukan file /var/lib/docker/network/files/local-kv.db . Di mana saya dapat menemukan file souch? Saya menggunakan El Capitan 10.11.4 dan Docker untuk Mac 1.12.

@ tsantos84 Docker akan berjalan di dalam VM saat Anda menggunakan Docker untuk Mac.

Coba yang berikut ini (saya belum menguji ini):

  • docker rm -f $(docker ps -aq) (akan menghapus semua penampung Anda)
  • docker network rm $(docker network ls -q) (akan menghapus semua jaringan Anda)
  • docker run --rm -v /var/lib/docker/network/files:/network busybox rm /network/local-kv.db

Kemudian mulai ulang Docker untuk Mac dan Anda sebaiknya melanjutkan 👍

Atau, Anda dapat terhubung ke VM xhyve, dengan:

layar -AmdS buruh pelabuhan ~ / Library / Containers / com.docker.docker / Data / com.docker.driver.amd64-linux / tty
layar -S buruh pelabuhan -p 0 -X barang
layar -r buruh pelabuhan
rm -f /var/lib/docker/network/files/local-kv.db
layar -S buruh pelabuhan -X berhenti

Di @aan dan saya masih mengalami masalah no. 2, yaitu Setelah menghentikan kontainer, port yang mereka gunakan terkadang masih dipetakan di localhost.
Saya menggunakan Ubuntu 14.04 dan versi buruh pelabuhan: 1.12.0

Menjalankan docker-compose setelah menghentikan dan menghapus container

 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.

Inilah yang ditunjukkan oleh netstat:

 sudo netstat -nlp | grep 5432

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

@ perbaikan mad-raz untuk mac tidak bekerja untuk saya di Ubuntu. Apakah ada menyelesaikan ini di Ubuntu

@ Umat Manusia Sudahkah Anda mencoba salah satu perbaikan saya yang disebutkan di atas?

@ madjam002 ya kecuali baris terakhir, yaitu saya tidak menjalankan docker run --rm -v / var / lib / docker / network / files: / network busybox rm /network/local-kv.db karena Anda mengatakan Anda tidak ' Saya menguji ini dan saya tidak tahu apa implikasi dari menghapus semua file itu nantinya, jadi saya tidak menghapusnya karena saya ingin melihat apakah saya dapat memperbaikinya tanpa menghapus dan menginstal ulang buruh pelabuhan dari awal.

@manusia Ini baris terakhir yang akan benar-benar melakukan perbaikan. Menjalankan perintah akan menghapus semua jaringan Anda dari Docker yang merupakan operasi yang merusak, tetapi itu satu-satunya cara yang saya ketahui untuk memperbaiki masalah ini. Itu adalah perintah yang sama persis dengan apa yang saya posting sebelumnya di utas ini, satu-satunya perbedaan adalah Anda menjalankannya di dalam wadah Docker, bukan di host.

Untuk memperjelas, Anda perlu menghapus semua container Anda dan menjalankan perintah yang akan menghapus semua jaringan Anda, tetapi Anda akan menyimpan image Docker jika itu yang Anda khawatirkan.

@ madjam002 terima kasih telah mengklarifikasi.

Saya mendapat kesalahan yang sama seperti yang dijelaskan oleh banyak orang di utas ini; namun masalah / solusi saya berbeda dari orang lain.

Saya menggunakan docker-machine di Mac saya. Saya memiliki beberapa proyek yang menggunakan buruh pelabuhan. Saya menggunakan satu mesin dan hanya menggunakan docker-compose per proyek untuk memulai container saya di mesin yang satu ini. Masalah yang saya temukan adalah, saya mencoba untuk memulai kontainer saya untuk satu proyek (proyek b), tetapi kontainer untuk proyek lain (proyek a) berjalan karena beberapa alasan (tidak yakin mengapa).

Secara khusus, saya mendapatkan kesalahan yang tidak dapat saya ikat ke port 80 dan 3306 karena saat saya memulai kontainer proyek b, proyek a sudah berjalan dan mengikat dirinya sendiri ke port tersebut.

Saya baru saja menggunakan docker ps -a untuk memverifikasi bahwa kontainer lain sedang berjalan dan sudah terikat ke port tersebut. Menghentikan wadah tersebut menyelesaikan masalah bagi saya.

Masalah utama yang saya lihat di sini adalah wadah dari proyek ini terus berjalan tanpa saya benar-benar memulainya.

Semoga ini bisa membantu orang lain dengan masalah ini.

Memperbaiki masalah yang sama menghentikan aplikasi lain di port yang sama, periksa aplikasi menggunakan port Anda dengan netstat -anp | grep PORT (ganti PORT dengan yang Anda gunakan) atau gunakan port yang berbeda. Itu sudah diperbaiki untuk saya.
Saya harap ini membantu siapa pun.

@ragboyjr mungkin Anda telah memulai proyek a containers dengan docker-compose up -d dan memiliki restart: always pada file tulis Anda.

@ madjam002 Terima kasih untuk perbaikan ini! ini telah mengganggu saya selama beberapa bulan di Docker untuk Mac, saya harus mengatur ulang ke pengaturan pabrik tetapi menjalankan ini bersamaan dengan memulai ulang xhyve vm telah merilis port tersebut lagi.

Menggunakan buruh pelabuhan untuk mac, dalam kasus saya menghapus semua kontainer dan mematikan proses buruh pelabuhan yang menempati port tidak cukup untuk memperbaiki masalah. Saya harus menghapus jaringan yang terkait dengan port tersebut juga.

hentikan & lepaskan kontainer buruh pelabuhan:
docker stop $(docker ps -a -q); docker rm $(docker ps -a -q); docker volume rm $(docker volume ls -qf dangling=true)

hapus jaringan yang bermasalah:
docker network rm(docker network ls -q)

cari tahu proses mana yang menempati port
lsof -nP | grep LISTEN

periksa output dari perintah terakhir dan matikan proses yang menempati port (lihat posting @ mad-raz tentang cara melakukannya). Mengikuti langkah-langkah ini memperbaiki masalah saya.

@marcelmfs Anda benar sekali! terima kasih banyak untuk itu

+1 sama di sini, restart buruh pelabuhan untuk mac memperbaikinya

Docker Untuk Windows baru saja menyuruh saya untuk memperbarui, jadi saya lakukan. Sekarang wadah saya tidak mau mulai. Reboot baru, Docker Restart baru, tidak ada kontainer yang berjalan. Database tidak akan diluncurkan:

~Respons kesalahan dari daemon: driver gagal memprogram konektivitas eksternal pada titik akhir db (44309324c7301ee0bba984b7bfee01201939c809b98f3d10333258d09d243931): Kesalahan memulai proxy userland: Ikat untuk 0.0.0.0:3306 gagal: port sudah dialokasikanKesalahan: gagal memulai penampung: db~

D4W Versi 1.13.0 (9795)

Pergi untuk meneliti cara memasang versi lama.

Saya memiliki masalah yang sama

# 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

Memulai ulang layanan buruh pelabuhan tidak membantu, sama dengan reboot mesin host.

Abaikan saja entri sebelumnya karena itu salah saya (salah ketik)

Saya punya masalah yang sama (openSUSE 42.2). Menghapus file /var/lib/docker/network/files/local-kv.db memperbaiki masalah.

Menghapus file /var/lib/docker/network/files/local-kv.db dan memulai ulang buruh pelabuhan juga memperbaiki masalah ini untuk saya di Ubuntu

Lupakan, masalah masih ada

bagi saya itu adalah minuman nginx. begitu saya menghentikannya, buruh pelabuhan bekerja lagi.

Saya mendapatkan masalah serupa di OSX dengan port UDP, menghapus local-kv.db tampaknya tidak menjadi pilihan karena port tetap macet bahkan ketika mesin buruh pelabuhan / VM dihentikan tetapi reboot membersihkan port terikat. Tampaknya menjadi masalah di sisi OSX.

$ netstat -na|grep "\.53" <- tidak ada udp port 53 terikat

$ 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 *.* <- ok, sekarang sudah terikat

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

$ netstat -na|grep "\.53"
udp4 0 0 *.53 *.* <- tersisa!

$ sudo lsof -i -n -P|grep ":53" <- tidak ada keluaran!

$ netstat -tulnvp udp|grep 53
udp4 0 0 *.53 *.* 196724 9216 1307 0 <- ok kita punya pid

$ sudo ps aux|grep 1307 <- tidak ada pid yang cocok!

Beberapa proses lama "zombie" tampaknya menahan port tetapi saya tidak tahu bagaimana cara melepaskannya.

OSX 10.11.6

$ versi buruh pelabuhan
Klien:
Versi: 17.03.0-ce
Versi API: 1.26.0
Go versi: go1.7.5
Git commit: 60ccb22
Dibangun: Kamis 23 Feb 10:40:59 2017
OS / Arch: darwin / amd64

Server:
Versi: 17.03.0-ce
Versi API: 1.26 (versi minimum 1.12)
Go versi: go1.7.5
Git commit: 3a232c8
Dibangun: Sel 28 Feb 07:52:04 2017
OS / Arch: linux / amd64
Eksperimental: benar

Hanya dapat mengonfirmasi bahwa ini juga terjadi pada saya di banyak wadah.
OSX
➜ ~ versi buruh pelabuhan
Klien:
Versi: 17.03.1-ce-rc1
Versi API: 1.27.0
Go versi: go1.7.5
Git commit: 3476dbf
Dibangun: Jumat 17 Maret 00:27:41 2017
OS / Arch: darwin / amd64

Server:
Versi: 17.03.1-ce-rc1
Versi API: 1.27 (versi minimum 1.12)
Go versi: go1.7.5
Git commit: 3476dbf
Dibangun: Rabu 15 Maret 20:28:18 2017
OS / Arch: linux / amd64
Eksperimental: benar

Beberapa kali telah menyelesaikannya sendiri dengan build docker-compose dan di lain waktu dengan memulai ulang proses buruh pelabuhan.

+1 di mac.
Saya mencoba menghapus semua kontainer dan memulai ulang Docker. Tapi itu terjadi lagi ..

Masalah serupa di Ubuntu 16.04.2 LTS, Docker versi 17.04.0-ce, build 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 masalah yang sama

Mac 10.12.3 masalah yang sama

Windows 10, masalah yang sama

Mac 10.12.3 (16D32), masalah yang sama
EROR: Terjadi kesalahan saat membuka proyek.

Windows 10, masalah yang sama

info buruh pelabuhan
Wadah: 4
Berlari: 3
Dijeda: 0
Berhenti: 1
Gambar: 7
Versi Server: 17.03.1-ce
Driver Penyimpanan: overlay2
Sistem File Dukungan: extfs
Mendukung d_type: true
Perbedaan Native Overlay: true
Driver Logging: json-file
Cgroup Driver: cgroupfs
Plugin:
Volume: lokal
Jaringan: jembatan host ipvlan macvlan null overlay
Swarm: tidak aktif
Durasi: runc
Waktu Proses Default: runc
Biner Init: buruh pelabuhan-init
versi containerd: 4ab9917febca54791c5f071a9d1f404867857fcc
versi runc: 54296cf40ad8143b62dbcaa1d90e520a2136ddfe
versi init: N / A (diharapkan: 949e6facb77383876aeff8a6944dde66b3089574)
Pilihan Keamanan:
seccomp
Profil: default
Versi Kernel: 4.9.13-moby
Sistem Operasi: Alpine Linux v3.5
OSType: linux
Arsitektur: x86_64
CPU: 4
Total Memori: 6,538 GiB
Nama: moby
ID: HVV7: ECOB : GSCQ: UHGE : MUHA: GVD5: KS3W: YVJ5: DJ5E: AJIM : OHMR: 344T
Docker Root Dir: / var / lib / docker
Mode Debug (klien): salah
Mode Debug (server): benar
Deskriptor File: 36
Goroutine: 39
Waktu Sistem: 2017-05-11T09: 41: 16.7020554Z
Pendengar Acara: 0
Registri: https://index.docker.io/v1/
Eksperimental: benar
Registri Tidak Aman:
127.0.0.0/8
Mirror Registry:
https://mhihpv4t.mirror.aliyuncs.com
Live Restore Diaktifkan: false

jalankan saja: docker run -d -p 3142:3142 --name blaName Bla_imageID
tanpa ip dan kemudian jalankan docker container ls untuk memilikinya alamat ip dan kemudian sambungkan ke sana.

Bagi saya itu berhasil! pada versi baru buruh pelabuhan di MAC

Bagi mereka yang ingin menentukan alamat tertentu

Buat jaringan buruh pelabuhan Anda:
docker network create --subnet=172.18.0.0/16 mynet123

lalu jalankan gambar (saya akan mengambil ubuntu sebagai contoh)
docker run --net mynet123 --ip 172.18.0.22 -it ubuntu bash

Memiliki masalah yang sama di Windows Docker + WSL dan artikel ini membantu menyelesaikannya:
https://www.mikeplate.com/2011/11/06/stop-http-sys-from-listening-on-port-80-in-windows/

inilah yang akhirnya berhasil untuk saya di mac saya:
sudo /usr/sbin/apachectl stop
Anda kemudian dapat mengetahui bahwa httpd tidak ada dengan menjalankan ps -ef | grep httpd

Masalah yang sama pada Windows 10. Diatasi dengan hanya me-restart Docker (reboot komputer tidak berfungsi).

Saya memulai kembali buruh pelabuhan dan berhasil
sudo service docker stop
kemudian
sudo service docker start

Sama di ubuntu 16.04 melalui docker-compose.
# docker -v Docker version 17.03.1-ce, build c6d412e

Restart daemon buruh pelabuhan bekerja tapi itu agak menyedihkan.

Masalah ini mungkin terkait dengan libnetwork. Saya telah membuat PR (https://github.com/docker/libnetwork/pull/1794). Semoga bisa bermanfaat.

Saya mengalami ini terjadi pada saya. Pemetaan port tidak muncul ketika saya melakukan netstat -an pada prompt Elevated Powershell, meskipun saya tidak mencoba hal yang sama dari dalam VM. Saya harus me-restart Docker agar Windows dapat memulihkan. Ini juga membuat ulang VM yang mendasarinya.

Ini mungkin hal yang jelas untuk dicoba, tetapi saya mengalami kesalahan ini, tetapi saya memulai ulang Docker itu sendiri, dan kemudian memulai kontainer dan kesalahan itu hilang.

Kesalahan yang sama - obat yang sama - memulai ulang Docker di Mac lalu menjalankan ulang perintah dan berhasil.

Saya memiliki masalah ini yang bertahan di sistem CI kami - build "acak" rusak, karena kesalahan ini. Itu berfungsi dengan baik beberapa minggu yang lalu, lalu mulai muncul secara acak. Memulai ulang buruh pelabuhan tampaknya membantu, tetapi ini masih merupakan solusi yang tidak dapat diandalkan untuk sistem CI.
Sayangnya saya tidak memiliki informasi apa pun ketika hal itu mulai terjadi, saya curiga ketika saya telah memperbarui dari paket buruh pelabuhan pra-moby "lama" menjadi docker-ce , tetapi itu hanya tebakan sekarang

@ mad-raz Terima kasih banyak atas solusinya. Saya menghabiskan waktu berjam-jam untuk mencari tahu dan jawaban Anda berhasil

Terkadang docker-compose gagal memulai container yang diinginkan dan membiarkan port sibuk dengan proses mendengarkan .. jadi coba daftar semua port (mendengarkan) menggunakan
lsof -nP + c 15 | grep DENGARKAN
keluaran
Dropbox 384 IPv4 0x82c TCP 127.0.0.1:17600 (DENGARKAN)
com.docker.slirp 6218 IPv4 0x82c TCP *: 5432 (DENGARKAN) << Python 6268 IPv4 0x82c TCP 127.0.0.1:51617 (DENGARKAN)
kemudian matikan id proses com.docker.slirp jika itu yang menyebabkan masalah
bunuh -9 6218

Saya memiliki masalah yang sama di Mac 10.12.5 (16F73):

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

Tapi tidak masalah untuk image buruh pelabuhan yang sama di 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

kesalahan yang sama

Docker versi 17.06.0-ce, build 02c1d87

Solusi bagi saya adalah menghentikan, melepas, dan menjalankan kembali kontainer. Jika gagal, hentikan dan restart buruh pelabuhan dan coba lagi. Jika gagal, boot ulang, buat kembali gambar buruh pelabuhan dan jalankan kembali kontainer.

Saya hanya harus menghentikan apache dan menjalankan docker-compose lagi.

Cukup memulai ulang buruh pelabuhan memperbaiki masalah ini untuk saya.

Saya mengalami masalah ini di Windows 10 Pro dan saya menghentikan layanan IIS, kemudian berfungsi!

Jika kesalahan yang Anda dapatkan terkait dengan Redis. pastikan Anda tidak menjalankan Redis untuk Windows / Linux / dll di latar belakang dan / atau saat memulai

Mematikan Docker melalui menu / Memulai ulang melalui menu tidak memperbaiki masalah bagi saya karena tampaknya Docker tidak benar-benar dihentikan sepenuhnya.

Saya menjalankan sudo pkill -fi docker dan kemudian membuka kembali buruh pelabuhan dan itu diperbaiki.

Masalah pada buruh pelabuhan-untuk-mac lagi (tidak terlihat di rilis sebelumnya, 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

Punya masalah yang sama, sepertinya beberapa kontainer masih berjalan dan memblokir port.

lakukan "docker ps -a" untuk memeriksa apakah Anda telah menjalankan container
jalankan "docker kill $ (docker ps -q)" untuk menghentikan semua container yang sedang berjalan

Saya menghadapi masalah yang sama di mac versi 17.09.0-ce-mac35 (19611)

Coba cara solusi utas oleh madjam002. Jika itu tidak berhasil, ekspor semua gambar kustom Anda atau pastikan bahwa mereka dapat dibangun kembali dengan Dockerfiles, kemudian sepenuhnya rmi semua gambar Anda, hapus instalasi Docker, reboot, dan instal ulang Docker, tetapi itu mungkin terjadi lagi. Solusinya adalah mengubah konfigurasi Anda ke port yang berbeda. Ketika saya melakukan itu sesekali port baru akan macet lagi dan saya harus mengubah konfigurasi ke port ketiga. Tidak jelas mengapa ini terjadi pada beberapa orang dan bukan pada orang lain.

Pada MAC, hentikan apache internal

sudo apachectl berhenti

Saya terus mengalami masalah ini. Yang aneh adalah saya mendapatkan ERR_SOCKET_NOT_CONNECTED di browser ketika mencoba mengakses layanan. Kemudian saya menghentikan wadah dan mencoba memulainya lagi ketika saya mendapatkan kesalahan yang Anda laporkan.

Memulai ulang mesin Docker memperbaiki masalah, tetapi segera kembali setelah itu.

Setelah beberapa penggalian, saya menyadari bahwa kontainer saya dapat berkomunikasi satu sama lain melalui alamat IP internal yang diberikan Docker, tetapi tidak dapat berkomunikasi dengan dunia luar (bahkan google dan semacamnya).

Ini bisa terjadi setelah 10 menit, atau setelah 2 jam penggunaan.

Saya menggunakan MacOS High Sierra dan Docker terbaru untuk Mac.

@rogoit yang memecahkan masalah saya. Terima kasih!

sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist bekerja untuk saya di mac

Ketika saya mendapatkan kesalahan ini, saya berhasil mengunjungi direktori / port di host:

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

Dalam kasus saya ada file di direktori itu - saya pikir itu disebut ctl atau serupa, dan setelah saya menjalankan cat pada file itu untuk melihat apa yang ada di dalamnya, masalahnya hilang - file, dan direktori juga menghilang setelah cd .. dan ls .

Saya kemudian dapat menjalankan docker-compose start [service] .

Versi 17.09.0-ce-mac35 (19611)
Saluran: stabil
a98b7c1b7c

macOS 10.13.1 (17B1003)

Tampaknya ada banyak rasa dari masalah ini. Ini milik saya:

Docker untuk Windows di Windows 10.

Tampaknya pembaruan Windows 10 terbaru (Pembaruan Musim Gugur, 2017) memiliki "fitur" baru. Saat Anda mematikannya, ia mengingat apa yang sedang berjalan sehingga dapat memulainya kembali untuk Anda saat Anda memulai ulang.

Ini menghancurkan malapetaka dengan Docker untuk Windows (dan menghapus beberapa jam waktu saya sebelum saya membuat koneksi). Mendapat "driver gagal memprogram konektivitas eksternal pada titik akhir" yang ditakuti ketika mencoba untuk membuat ulang penulisan galangan saya.

Ternyata, dalam hal ini, cukup memulai ulang Docker menyelesaikannya. Tidak langsung menemukannya, karena saya menyalakan ulang komputer. Berpikir ini juga akan memulai ulang Docker. Tidak - itu menyusun kembali Docker dalam kondisi buruk.

Tampaknya tidak ada cara untuk mematikan fitur baru Win10 ini.
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

Sebagai gantinya, untuk mematikan "dengan benar" kita dipaksa untuk menjalankan ini dari command prompt: shutdown / s / t 0 atau restart Docker ketika saya lupa melakukan ini.

@ biscuit314 Saran Anda untuk memulai kembali layanan buruh pelabuhan bekerja untuk saya, sedikit masalah jika Windows tidak memulihkannya dengan baik atau Docker tidak dapat menangani bagaimana Windows melakukan ini.

lakukan saja;

sudo apachectl berhenti

Saya tidak pernah memilikinya di Windows tetapi ketika beralih ke Mac saya mengalami kesalahan ini. Memulai ulang Docker tidak mengubah apa pun. Solusinya adalah mengubah port untuk apache di Mac dari default 80 ke yang lain (dan jelas memulai ulang apache). Setelah masalah ini hilang.

Saya sadar utas ini masih menghasilkan banyak diskusi, tetapi saya akan menutupnya karena tidak ada hubungannya dengan Tulis itu sendiri. Seperti yang telah ditunjukkan dalam beberapa komentar, pastikan Anda tidak memiliki aplikasi host yang sudah mengikat port yang coba diekspos oleh layanan Anda (Apache adalah pelanggar umum).

Untuk siapa pun yang masih datang ke sini dari Google: Untuk mesin pengembang lokal saya, itu hanya DHCP yang memberi saya sewa baru dan layanan buruh pelabuhan tidak mengambilnya dan tidak dapat membuat pemetaan jaringan lagi.

Sayangnya tidak ada dari semua saran yang berhasil untuk saya. Docker untuk Mac Edge 18 sesuatu. Sierra Tinggi.

Satu-satunya hal yang berhasil adalah menunggu sampai Docker dimulai setelah reboot sistem dan kemudian jalankan
$ docker-compose up -d --force-recreate secara manual. Sangat sedih.

Pada akhirnya saya menurunkan versi kembali ke Docker untuk Mac Stable 17 sesuatu dan semuanya berfungsi dengan baik lagi.

Di fedora 27 saya dapat mengatasi masalah ini dengan menonaktifkan firewall saya dan memulai ulang buruh pelabuhan.

systemctl stop firewalld
systemctl restart docker

Saya mengalami masalah di AWS Ubuntu 16 Server. Cukup sudo service docker restart memecahkan masalah saya ...

Mengalami masalah di windows. Gagal pada layanan apa pun port mana pun, memulai ulang pekerja galangan memperbaikinya.

Yup, juga mengalami masalah ini dengan Docker untuk Windows. Memulai ulang Docker memperbaikinya.

Juga mengalami hal ini beberapa kali hari ini dan kemarin dengan Docker untuk Windows. Memulai ulang Docker tidak memperbaikinya 😅

Satu-satunya hal yang berhasil adalah menunggu sampai Docker dimulai setelah reboot sistem dan kemudian jalankan
$ docker-compose up -d --force-rekreasikan secara manual. Sangat sedih.

Itu juga berhasil untuk saya.

Adakah yang dapat saya lakukan (mengumpulkan lebih banyak log, mengirim ID diagnostik) untuk membantu menyelidiki hal ini?

Sedang menghadapi masalah ini sekarang di linux. systemctl restart docker memperbaikinya untuk saya.

Masalah yang sama disini. TETAP KETIKA saya me-restart Docker , dan port dirilis - diurutkan

Saya menggunakan Windows 10.0.16299.125, Docker untuk Windows 17.12.0-ce (15139) dan wadah Linux. Saya mematikan Skype dan kesalahan _driver gagal memprogram konektivitas eksternal pada endpoint_ hilang. Ini adalah buruh pelabuhan-compose.yml saya:

version: '3'

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

Saya benar-benar lupa bahwa saya memiliki Valet yang sedang berjalan. Pada dasarnya hanya memeriksa setiap port dan menghentikan apa pun yang berjalan sebelum meluncurkan buruh pelabuhan.

Saya memodifikasi beberapa konfigurasi iptables. Dan mengalami kesalahan ini. Memulai ulang daemon buruh pelabuhan memperbaikinya ...

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))'

Sedang menghadapi masalah ini sekarang di kotak gelandangan. Masalah kotak gelandangan yang dimuat telah diperbaiki.

masalah yang sama Windows 10

Masalah yang sama di Windows 10.
Respons kesalahan dari daemon: driver gagal memprogram konektivitas eksternal pada titik akhir
setelah mencoba memulai ulang penampung.

@ gudge25 @magomedov Saya tidak yakin apakah ini terkait, tetapi 18.03-rc3 baru saja dirilis dan berisi perbaikan ini . Mungkin perlu diperbarui untuk melihat apakah versi itu memperbaiki masalah yang dialami orang di sini.

Sunting: Saya baru saja mencoba proyek saya yang dulu mengalami masalah ini setelah restart. Setelah 20 menit pengujian, saya tidak dapat lagi mereproduksi masalah tersebut.

solusi saya adalah -> Reset Docker ke default pabrik

setiap kali saya menyalakan komputer saya, memulai penampung saya, saya melihat kesalahan ini.
Respons kesalahan dari daemon: driver gagal memprogram konektivitas eksternal pada titik akhir ea-mysql (4bf1d5fc80663ac6ceabb68283b7a31860672826709d73aecaeaaa8f50be69ff): Kesalahan memulai proxy userland: mkdir / port / tcp: 0.0.0.0 : 3306: input / output: kesalahan 172.17.0 : 3306:
Kesalahan: gagal memulai penampung: b

restart komputer, mulai lagi, berhasil.

PS C: Usersphucnv7> info buruh pelabuhan
Wadah: 1
Tayang: 0
Dijeda: 0
Berhenti: 1
Gambar: 2
Versi Server: 18.03.0-ce
Driver Penyimpanan: overlay2
Sistem File Dukungan: extfs
Mendukung d_type: true
Perbedaan Native Overlay: true
Driver Logging: json-file
Cgroup Driver: cgroupfs
Plugin:
Volume: lokal
Jaringan: jembatan host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: tidak aktif
Durasi: runc
Waktu Proses Default: runc
Biner Init: buruh pelabuhan-init
versi containerd: cfd04396dc68220d1cecbe686a6cc3aa5ce3667c
versi runc: 4fc53a81fb7c994640722ac585fa9ca548971871
versi init: 949e6fa
Pilihan Keamanan:
seccomp
Profil: default
Versi Kernel: 4.9.87-linuxkit-aufs
Sistem Operasi: Docker untuk Windows
OSType: linux
Arsitektur: x86_64
CPU: 2
Total Memori: 1.934GiB
Nama: linuxkit-00155d347405
ID: 7 SDD: BOPB : ZIQ4: XO2T: AMRA: BGMS : XKB7: EHGH: K73W : 2Y4D: SLCW: Z5DX
Docker Root Dir: / var / lib / docker
Mode Debug (klien): salah
Mode Debug (server): benar
Deskriptor File: 19
Goroutine: 36
Waktu Sistem: 2018-03-28T01: 25: 45.5754181Z
Pendengar Acara: 1
Registri: https://index.docker.io/v1/
Label:
Eksperimental: benar
Registri Tidak Aman:
127.0.0.0/8
Live Restore Diaktifkan: false

Saya pikir saya mungkin sudah mengetahui yang satu ini guys, itu benar-benar bodoh ... Saya menggunakan mac dan memiliki 2 akun pengguna terpisah yang keduanya menjalankan buruh pelabuhan. Setelah berhenti buruh pelabuhan di akun lain, saya kembali mencoba perintah lando start dan itu bekerja dengan baik.

Jika Anda memiliki MAC, coba hentikan server. Saya memiliki apache.
sudo / usr / sbin / apachectl stop

Untuk mengatasi kesalahan berikut di Windows Restart Docker (dari menu baki atau memilih opsi 'Restart Docker ...' di Pengaturan / Reset)

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

Saya tidak dapat memulai container apa pun setelah windows dan buruh pelabuhan sepenuhnya di-boot. Tidak menunggu perbaikan itu. Memulai ulang Docker dari Docker untuk ikon bilah status Win menyelesaikannya.

100% waktu Docker tidak berfungsi setelah boot / reboot dan saya harus me-restart daemon docker dalam 100% kasus.

EDIT: ya, @IGZmanuelMartinVivaldi , ini berfungsi, tetapi saya harus melakukannya setiap restart host. Apakah ini masalah dengan compose, atau dengan daemon Docker secara umum?

@IGZmanuelMartinVivaldi terima kasih ini berhasil

@NoICE sepertinya ini masalah yang dimulai dengan pembaruan Windows 10 Fall Creators, tetapi saya tidak tahu itu akan diperbaiki dalam pembaruan Musim Semi saat ini atau di versi Dockers baru

@IGZmanuelMartinVivaldi Saya memiliki masalah yang sama dengan @NoICE. Saya harus me-restart buruh pelabuhan setiap saat setelah windows sepenuhnya di-boot. Itu ada di pembaruan Fall Creators dan yang terbaru.

PS. Saya menggunakan docker compose, semua file docker compose saya menggunakan versi 2.

Masalah yang sama di sini @namerci. Perlu me-reboot buruh pelabuhan secara manual setelah windows di-boot sepenuhnya.

Sama disini :(
Mulai ulang buruh pelabuhan untuk windows atau terkadang menghentikan kontainer, lalu docker system prune berfungsi

Masalah yang sama di sini

Saya mencoba menyelesaikan masalah yang sama selama dua hari terakhir tetapi sejauh ini tidak berhasil. Ini terjadi di Windows 7, kotak alat buruh pelabuhan, AWS SAM CLI & Eclipse.

+1 masalah yang sama di windows 10

Saya memiliki masalah serupa dengan server nginx saya. Untuk menyelesaikannya saya harus:

docker stop $(docker ps -qa)

Windows 10 memiliki sesuatu seperti boot cepat. Mungkin ini masalahnya. Di
PC lain tanpa boot cepat berfungsi dengan baik.

wt., 22 maj 2018, 20:25 użytkownik rangeoshun [email protected]
napisał:

Saya memiliki masalah serupa dengan server nginx saya. Untuk menyelesaikannya saya harus:

buruh pelabuhan berhenti $ (buruh pelabuhan ps -qa)

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/docker/compose/issues/3277#issuecomment-391092688 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/ABGaX_NDPkbWf08T2wOkq1PjQz4v-ES3ks5t1FgPgaJpZM4IBfG_
.

EDIT: Ini adalah saya yang buta. Ada kesalahan ketik pada nomor port di konfigurasi saya.

Masalah yang sama - Ikatan untuk 0.0.0.0:18305 gagal: port sudah dialokasikan.
Tapi Port tidak dialokasikan. Diperiksa dengan sudo lsof -i -P -n , dan layanan dapat dinyatakan tanpa masalah saat buruh pelabuhan tidak digunakan.

Versi: 18.03.1-ce-mac65 (24312)
Saluran: stabil
93354b38bd

Restart tidak membantu.
Reset ke default pabrik tidak membantu.

Saya juga menghadapi masalah yang sama.
Saya mengatasinya dengan memulai ulang buruh pelabuhan.
Guys, saya melihat bahwa kadang-kadang mesin virtual mungkin ditempati dengan port yang sama dengan yang Anda jalankan sekarang.
Jadi, dengan me-restart buruh pelabuhan Anda bisa mengatasi masalah ini.

Seperti yang ditunjukkan sebelumnya . Ini bukan masalah penulisan, ini adalah masalah Docker. Oleh karena itu mengapa ini ditutup.
Ada masalah yang terbuka untuk ini di repo Docker .

Saya dapat melampirkan layanan apa pun ke port mana pun. Untuk beberapa alasan, pesan kesalahan menunjukkan alamat IP yang tidak saya kenali. Saya me-restart Docker (Windows) dan itu bekerja sejak saat itu.

Saya memiliki masalah yang sama di Mac OS Sierra 10.12.6. Docker versi 18.03.1-ce.

Saya menyelesaikannya dengan menerapkan saran @ a14m :
Soution :
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)

Temukan proses yang mendengarkan port yang diblokir dan matikan: kill -9 <_process_id_ i = "14" /> . Bagi saya itu adalah:
kill -9 35957

Kemudian restart Docker dan semuanya baik-baik saja

Menonaktifkan Fast Boot pada Windows 10 membantu

Memulai kembali pekerjaan buruh pelabuhan

Memulai ulang buruh pelabuhan (melalui perintah "Restart" atau berhenti secara manual dan meluncurkan kembali) TIDAK berhasil untuk saya.

Setel ulang Docker ke default pabrik

Itu membantu saya.

itu membantu saya dengan mengatur ulang Docker.

Mulai ulang Docker berfungsi untuk saya. (Docker untuk Windows, Docker version 18.06.1-ce, build e68fc7a )

Untuk menambah komentar Ray-Eldath: Saya bingung karena me-restart komputer saya dua kali tidak berfungsi (versi yang sama: 18.06.1-ce untuk Windows), dan tentunya me-restart komputer Anda cukup untuk dihitung sebagai restart Docker juga, bukan? Jadi saya kira memulai ulang tidak memperbaikinya, bukan? Tidak, lol. Saya benar-benar pergi ke Docker dan klik "Restart" dan sekarang berhasil.

EDIT: Oh, menarik, sekarang saya tahu mengapa ini terjadi (mungkin). Restart komputer saya sebenarnya membuat masalah ini, saya pikir. Lihat ini:

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

Kutipan yang relevan:

Pembaruan Windows 10 terakhir (Pembaruan Musim Gugur, 2017) memiliki "fitur" baru. Ini secara otomatis memulai aplikasi apa pun yang berjalan saat Anda mematikan terakhir.

Ini menyusun kembali Docker untuk Windows dalam keadaan buruk. Itu membuatnya tampak port-port itu digunakan oleh sesuatu yang lain - itu adalah hantu itu sendiri. Ini menjelaskan mengapa port-port tersebut masih digunakan meskipun saya menghentikan / memulai container saya dan bahkan melakukan boot ulang!

Mengingat itu, saya masih mencurigai pembaruan Windows 18.06.1-ce, karena ini bukan masalah bagi saya sampai saya memperbaruinya.

Saya memiliki Windows 10 Pro di laptop dan desktop dengan masalah yang sama persis. Saat ini saya menjalankan versi: 18.06.1-ce, tetapi setidaknya 2 versi terakhir sebelumnya memiliki perilaku yang sama. Ini adalah masalah yang konsisten dan mudah direproduksi, terjadi pada konfigurasi yang sangat umum.

Apakah kita semua melakukan sesuatu yang salah, atau apakah ini sesuatu yang perlu diperbaiki?

Anda juga dapat memeriksa dengan ACTIVITY MONITOR di OSX. Saya melihat masalah ini ketika pengguna lain masuk dan menggunakan Docker. Matikan proses atau logout dan itu akan berhasil.

Saya mengalami ini di buruh pelabuhan untuk windows dengan nginx. Saya restart buruh pelabuhan dan tidak melihatnya sekarang. Tentu saja mungkin akan ada di sana jika saya menghapusnya lalu membuat wadah baru untuk nginx.

Saya memiliki masalah yang sama (memulai nginx reverse proxy pada port 80) pada Windows 10, mungkin disebabkan oleh instalasi kotak virtual sebelumnya.

Mengatur ulang buruh pelabuhan ke default pabrik (ikon klik kanan di area notifikasi -> pengaturan -> reset) memperbaikinya untuk saya.

restart pekerjaan buruh pelabuhan untuk saya. di windows 10

thx @ballmdr , itu juga cocok untuk saya.

Saya mengalami masalah yang sama. Port 80 digunakan oleh IIS.

1) Tekan Run, ketik - 'inetmgr' yang membuka IIS
2) On Actions (Kanan Atas) - Klik 'Stop'
3) Lakukan Docker berjalan kembali

Saya mendapatkan masalah yang sama di MAC moJave setelah memperbarui penulisan buruh pelabuhan. Cukup dengan memulai ulang buruh pelabuhan akan memperbaiki masalah bagi saya.

Sama di sini, saya memiliki macOS Mojave dan memulai kembali masalah yang diperbaiki.

Terima kasih

Saya mendapatkan masalah ini secara teratur (di windows) dan memulai ulang Docker menyelesaikan masalah.

Ubuntu 18.04, memulai ulang buruh pelabuhan menyelesaikan masalah

Masalahnya masih ada di Windows di 18.06.1-ce-win73 (19507) Plase buka kembali ini.

Biasanya terjadi karena postgresql sedang berjalan dan menggunakan port 5432 coba hentikan layanan dan jalankan docker-compose up --build sehingga akan melakukan inisialisasi ..

sudo layanan postgresql berhenti
buruh pelabuhan-menulis --build

harus bekerja

madjam002

1. doker rm -f semua kontainer.
2. antarmuka jaringan dok jaringan rm.
3. sudo rm /var/lib/docker/network/files/local-kv.db

Saya mencoba ini sekarang saya terjebak dengan masalah lain sebagai docker: Error response from daemon: failed to update store for object type *libnetwork.endpointCnt: Key not found in store. . Bagaimana mengatasi masalah ini, dapatkah Anda menyarankan saya .... Terima kasih.

Saya sadar utas ini masih menghasilkan banyak diskusi, tetapi saya akan menutupnya karena tidak ada hubungannya dengan Tulis itu sendiri.

Ini adalah masalah buruh pelabuhan - bukan masalah penulisan buruh pelabuhan. Masalah ini ditutup, jadi tidak akan mendapatkan daya tarik apa pun. Ada beberapa masalah yang sudah terbuka di repo buruh pelabuhan utama. Komentar mungkin harus diletakkan di sana:

Lihat https://github.com/docker/for-win/issues/2722
dan https://github.com/docker/for-win/issues/1967

@ shin- Haruskah ini dikunci?

Saya mendapatkan kesalahan yang sama dalam situasi berikut:
Docker 18.06.1, Docker Compose 1.22.0, Ubuntu 18.04

Memulai d1df6864f98d2599_api_1 untuk d1df6864f98d2599_api_1 Tidak dapat memulai api layanan: driver gagal memprogram konektivitas eksternal pada titik akhir d1df6864f98d2599_api_1 (6b3f4a9c68d6858ace2b39a0296ed41620ff3007b14c2379b539726: port.0722:58 telah dialokasikan gagal

Ketika saya memulai container menggunakan docker-compose dari command line, container tersebut disebut src_api_1 , karena saya menjalankan perintah dari folder src .

Ketika saya menjalankan docker-compose dari TeamCity, containernya disebut d1df6864f98d2599_api_1 dan saya mendapatkan kesalahan itu.

Perintahnya adalah docker-compose -f src/docker-compose-production.yml up -d api .

Saya baru saja mengubah nomor port saya di file .yaml dan itu mulai bekerja untuk saya.

Dalam kasus saya, itu karena kata sandi login windows diperbarui dan ternyata kata sandi baru tidak diperbarui ke buruh pelabuhan. Saya harus pergi ke buruh pelabuhan untuk windows -> pengaturan -> drive bersama, hapus centang pada drive bersama, klik terapkan, dan kemudian periksa lagi dan terapkan, itu kemudian akan meminta kata sandi. Setelah saya memasukkan kata sandi, itu berfungsi kembali.

Ini terus mengganggu pengaturan saya. Memulai ulang buruh pelabuhan tidak membebaskan port di OSX. Memulai ulang mesin host tidak membebaskan port.

Saya mendapat pesan kesalahan yang sama, tetapi masalah saya disebabkan karena mengerjakan dua halaman berbeda pada waktu yang bersamaan.

Saat beralih dari satu juga ke yang lain, saya lupa menggunakan docker-compose down,

Saya juga menghadapi masalah yang sama tetapi setelah sekian lama bertemu dengan solusi yang tepat

  1. ketik docker container ls -a (periksa container yang menggunakan nomor port tersebut)
  2. buruh pelabuhan kontainer rm -f(Batalkan alokasi port dengan menghapus kontainer itu)
  3. Assing container baru Anda dengan nomor port Anda

@ ronakganatra9 hey, saya punya pertanyaan di mana Anda bisa menemukan port Anda sendiri di file .yaml?

PS C: UsersMouazDesktopfernandroidstf-poc> docker-compose
stf-poc_storage-temp_1_20d132e37939 adalah yang terbaru
stf-poc_dev-triproxy_1_7224046ecd68 sudah terbaru
stf-poc_auth_1_f76f43d5e179 sudah terbaru
stf-poc_rethinkdb_1_6e5e0628f86c sudah terbaru
stf-poc_triproxy_1_7d61645de13d adalah yang terbaru
stf-poc_adb_1_53f170a2d9ae adalah yang terbaru
stf-poc_storage-plugin-apk_1_efbbfa2dc680 sudah up-to-date
stf-poc_storage-plugin-image_1_ebc249ed0769 adalah yang terbaruMulai stf-poc_migrate_1_ebc2c2157fdf ...

Memulai stf-poc_migrate_1_ebc2c2157fdf ... selesai

stf-poc_api_1_713c609d74d5 adalah yang terbaru
stf-poc_reaper_1_cca8849d63b8 terbaru
stf-poc_websocket_1_a41866f85947 sudah terbaru
stf-poc_app_1_db0fc2088323 sudah terbaru
Memulai e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 ... kesalahan

ERROR: untuk e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 Tidak dapat memulai penyedia layanan: b'driver gagal pemrograman konektivitas eksternal pada titik akhir e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 (6033aa098528aac29e541b1d52303e4106c0f7a760222995b4c0b348a7d76941): Kesalahan mulai userland proksi: Bind untuk 0.0.0.0:7680: kesalahan tak terduga Izin ditolak'

KESALAHAN: untuk penyedia Tidak dapat memulai penyedia layanan: b'driver gagal memprogram konektivitas eksternal pada titik akhir e3e9585e6a3a_stf-poc_provider_1_6961669e5bb1 (6033aa098528aac29e541b1d52303e4106c0f7a760222995b4c0b348a: kesalahan tak terduga Permission ditolak
EROR: Terjadi kesalahan saat membuka proyek.
PS C: UsersMouazDesktopfernandroidstf-poc> kontainer buruh pelabuhan ls
CONTAINER ID GAMBAR PERINTAH NAMA PELABUHAN STATUS YANG DIBUAT
d46b94a05e8b stf-poc_nginx "/entrypoint.sh" 2 menit yang lalu Memulai ulang (1) 38 detik yang lalu stf-poc_nginx_1_4c61f58776f1
6674d0116aa9 openstf / stf: latest "stf storage-plugin-…" 2 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_storage-plugin-image_1_ebc249ed0769
df2e7c721d55 openstf / stf: latest "stf storage-plugin-…" 2 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_storage-plugin-apk_1_efbbfa2dc680
a697ef5e309b openstf / stf: latest "stf app --auth-url…" 2 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_app_1_db0fc2088323
fefaebe9340a openstf / stf: latest "stf websocket --por…" 2 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_websocket_1_a41866f85947
8a1fd41fa92d stf-poc_storage-temp "stf storage-temp -…" 2 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_storage-temp_1_20d132e37939
c7f48e1b4d74 openstf / stf: latest "stf reaper dev --co…" 4 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_reaper_1_cca8849d63b8
293d4cf18ddb openstf / stf: latest "stf api --port 3000…" 4 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_api_1_713c609d74d5
257667df032e openstf / stf: latest "stf processor --con…" 4 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_processor_1_9c46a2ef3b9d
e065f41e2f61 rethinkdb: 2.3 "rethinkdb --bind all" 4 jam yang lalu Naik Sekitar satu menit 8080 / tcp, 28015 / tcp, 29015 / tcp stf-poc_rethinkdb_1_6e5e0628f86c
522eb78fc46a sorccu / adb: latest "/ sbin / tini - adb -…" 4 jam yang lalu Naik Sekitar satu menit 5037 / tcp stf-poc_adb_1_53f170a2d9ae
44e03f74b098 openstf / stf: latest "stf triproxy app -…" 4 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_triproxy_1_7d61645de13d
32f4f65a0d4e openstf / stf: latest "stf triproxy dev -…" 4 jam yang lalu Naik Sekitar satu menit 3000 / tcp stf-poc_dev-triproxy_1_7224046ecd68
7465e46fd2a0 openstf / stf: latest "stf auth-mock --app…" 4 jam yang lalu Naik Sekitar satu menit 3000 / tcp `stf-poc_auth_1_f76f43d5e179
``

inilah yang terjadi dengan saya, dan saya mencoba untuk memulai kembali dan menghapus dan menginstal ulang, menghapus uang tunai dan reset pabrik, masih menunjukkan ERROR semacam ini, menurut Anda apakah saya harus mengubah port ADB dari 5037 menjadi 3000 / tcp?

jika ya bagaimana saya bisa melakukan itu?
TERIMA KASIH !!

Mulai Ulang Docker . Itu berhasil untuk saya.

Mulai Ulang Docker . Itu berhasil untuk saya.

Ini berhasil untuk saya juga! Untuk beberapa alasan itu tidak berhasil setelah saya me-restart PC tetapi melakukannya setelah saya mengklik "restart buruh pelabuhan" di baki ikon.

Mulai Ulang Docker. Itu berhasil untuk saya.

Ini juga berhasil untuk saya.

Ya, memulai ulang berfungsi tetapi masih sangat mengganggu, saya harus melakukannya setiap kali saya ingin meluncurkan Docker ...

restart buruh pelabuhan dapat menyelesaikan semuanya, itu karena restart buruh pelabuhan akan membersihkan semua kontainer yang berjalan.

Saya memeriksa kembali file docker compose.yml saya, dan menghapus container yang terletak di dalam file docker-compose.yml, dan tidak perlu me-restart buruh pelabuhan.

Nikmati.

Jalankan perintah berikut dan dapatkan id penampung yang menggunakan port yang ingin Anda matikan. Gunakan id wadah dan hapus menggunakan perintah kedua.

docker ps -a
docker rm container_id

Hai, Saya menjalankan Docker (v 18.09.0) dan mendapatkan kesalahan berikut saat memulai sandbox-proxy. Tolong bantu.

C: Program FilesDockerDockerResourcesbindocker.exe: Respons galat dari daemon: driver gagal memprogram konektivitas eksternal pada proksi kotak pasir titik akhir (fcc9a4c77b0de66ef7e8c8893b6eafb49f8071e7b9c3b1ce1def3a5e1434358d): Galat memulai proksi userland: galat tak terduga: Bindission untuk 0.0.0:5011

Telah mencoba menginstal ulang / memulai ulang buruh pelabuhan / sistem, melepas kontainer, dll.
Tidak ada yang membantu.

Hai, Saya menjalankan Docker (v 18.09.0) dan mendapatkan kesalahan berikut saat memulai sandbox-proxy. Tolong bantu.

C: Program FilesDockerDockerResourcesbindocker.exe: Respons galat dari daemon: driver gagal memprogram konektivitas eksternal pada proksi kotak pasir titik akhir (fcc9a4c77b0de66ef7e8c8893b6eafb49f8071e7b9c3b1ce1def3a5e1434358d): Galat memulai proksi userland: galat tak terduga: Bindission untuk 0.0.0:5011

Telah mencoba menginstal ulang / memulai ulang buruh pelabuhan / sistem, melepas kontainer, dll.
Tidak ada yang membantu.

Coba hentikan buruh pelabuhan dan mulai lagi pada mode administrator. Setelah itu mulai open power shell pada mode administrator juga.
Karena kesalahan mengatakan "izin ditolak" mungkin ini akan menyelesaikan masalah Anda. Saya tidak yakin.

memulai ulang layanan buruh pelabuhan membantu saya mengatasi masalah ini.

versi 18.09.0

Hai, Saya menjalankan Docker (v 18.09.0) dan mendapatkan kesalahan berikut saat memulai sandbox-proxy. Tolong bantu.
C: Program FilesDockerDockerResourcesbindocker.exe: Respons galat dari daemon: driver gagal memprogram konektivitas eksternal pada proksi kotak pasir titik akhir (fcc9a4c77b0de66ef7e8c8893b6eafb49f8071e7b9c3b1ce1def3a5e1434358d): Galat memulai proksi userland: galat tak terduga: Bindission untuk 0.0.0:5011
Telah mencoba menginstal ulang / memulai ulang buruh pelabuhan / sistem, melepas kontainer, dll.
Tidak ada yang membantu.

Coba hentikan buruh pelabuhan dan mulai lagi pada mode administrator. Setelah itu mulai open power shell pada mode administrator juga.
Karena kesalahan mengatakan "izin ditolak" mungkin ini akan menyelesaikan masalah Anda. Saya tidak yakin.

Ini tidak menyelesaikan masalah, saya memulai terminal dan buruh pelabuhan itu sendiri dalam mode Administrator dan masih melakukan kesalahan yang sama persis.

Memiliki masalah yang sama hari ini. Saya menjalankan docker-compose down dan memulai kembali layanan buruh pelabuhan yang sepertinya berhasil.

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.

Restart buruh pelabuhan saya di windows 10, dan kemudian berhasil. ^^

Mengalami masalah yang sama. Memulai ulang buruh pelabuhan untuk windows membantu.

Jika Anda menggunakan Windows, jalankan netstat -ab dan periksa apa yang menggunakan port TCP 0.0.0.0:443 , bagi saya vmware sedang menggunakannya, meskipun saya telah keluar

Restart buruh pelabuhan bukanlah solusi terbaik rakyat. (Juga itu hal pertama yang saya lakukan)

Saya memiliki masalah yang sama dan dapat diselesaikan dengan memulai ulang buruh pelabuhan.

Baru saja dimulai ulang dan berfungsi lagi

Saya memiliki masalah yang sama dengan 18.09.1 ​​di Linux. Bisakah masalah ini dibuka kembali? Atau jika tidak, masalah harus dibuka untuk pesan kesalahan yang lebih baik yang menunjukkan bahwa ini sebenarnya bukan bug buruh pelabuhan, yang tampaknya merupakan bug.

Jika Anda terus mengharapkan orang untuk memulai ulang perangkat lunak di beberapa titik, mereka hanya akan merobek buruh pelabuhan; ini tidak seperti tidak ada sistem kontainer lain di luar sana.

Memulai ulang buruh pelabuhan hanya berhasil untuk saya pertama kali. Setelah itu setiap kali saya menekan docker run perintah itu memberi saya kesalahan yang sama. Itu tidak diperbaiki secara permanen.

Apa yang saya coba capai:

Saya hanya mencoba mengatur lingkungan LEMP (nginx, php-fpm, MySQL) di mesin centos 7 saya.

Perintah:

Pekerja pelabuhan dimulai kembali

service docker restart

Buat jaringan jembatan

docker network create -d bridge LEMP

Jalankan container php-fpm

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

Pada perintah jalankan pertama setelah, Ini berfungsi dengan output berikut:

b003815c0ee2fba05aa24b0965871b55ce717fcd56557066acd448519b59498b

iptables -L

`` Chain INPUT (DROP kebijakan)
target prot memilih tujuan sumber
TERIMA semua - dimana saja
TERIMA semua - di mana saja, di mana saja, status TERKAIT, DIDIRIKAN
TERIMA semua - di mana saja, di mana saja, status BARU
TERIMA semua - di mana saja, di mana saja, nyatakan BARU
TERIMA icmp - di mana saja, di mana saja, status BARU
TERIMA icmp - di mana saja, di mana saja, status BARU
TERIMA icmp - di mana saja di mana saja, status BARU
TERIMA icmp - di mana saja, di mana saja, status BARU
TERIMA tcp - dimana saja dimana saja tcp spts: 1024 : 65535 dpt: 28082 negara bagian BARU

Chain FORWARD (DROP kebijakan)
target prot memilih tujuan sumber

Chain OUTPUT (DROP kebijakan)
target prot memilih tujuan sumber
TERIMA semua - dimana saja
TERIMA semua - di mana saja, di mana saja, status TERKAIT, DIDIRIKAN
TERIMA tcp - di mana saja 192.168.40.17 tcp dpt: objcall
TERIMA semua - di mana saja, di mana saja, nyatakan BARU
TERIMA semua - di mana saja, di mana saja, nyatakan BARU
TERIMA semua - di mana saja, di mana saja, nyatakan BARU
TERIMA tcp - dimana saja dimana saja tcp spts: 1024 : 65535 dpt: 28082 negara bagian BARU

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

docker run --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 --network LEMP nginx


2dab94327ebbfb1849960df440cd8a1ba15b6253471b77838a5dce139b5cccdc

pekerja galangan: Respons kesalahan dari daemon: driver gagal memprogram konektivitas eksternal pada titik akhir nginx (df5852f12bb611dcf0057418e50b3f679efcbd81c91af6679c8e44b8a59fe4bf): (iptables gagal: iptables --wait -t filter -A DOCKER! -i brp-ede-172979760 -i brp-ede 17260 .0.3 --dport 80 -j ACCEPT: iptables: Tidak ada rantai / target / cocok dengan nama itu. (Status keluar 1)).
``

Solusi yang berhasil untuk saya:

Versi Docker:

docker -v

Docker version 18.09.0, build 4d60db4

Versi kernel mesin lama:

uname -r

3.10.0-957.1.3.el7.x86_64

Diambil komputer lain dengan versi kernel yang berbeda:

uname -r

3.10.0-862.2.3.el7.x86_64

o / p

Berhasil. Tidak ada kesalahan seperti di atas. Semuanya berjalan lancar.

Saya mengubah kernel saya dari mesin lama dan itu berhasil untuk saya. Meskipun ini tidak baik untuk mengubah kernel Anda terutama pada produksi.

Untuk pengguna windows: Nonaktifkan "startup cepat" di pengaturan daya Anda dan berhasil!
https://stackoverflow.com/a/47818614

Pembaruan Windows 10 terakhir (Pembaruan Musim Gugur, 2017) memiliki "fitur" baru. Ini secara otomatis memulai aplikasi apa pun yang berjalan saat Anda mematikan terakhir.
Ini menyusun kembali Docker untuk Windows dalam keadaan buruk. Itu membuatnya tampak port-port itu digunakan oleh sesuatu yang lain - itu adalah hantu itu sendiri. Ini menjelaskan mengapa port-port tersebut masih digunakan meskipun saya menghentikan / memulai container saya dan bahkan melakukan boot ulang!

restart buruh pelabuhan dapat menyelesaikan semuanya, itu karena restart buruh pelabuhan akan membersihkan semua kontainer yang berjalan.

Saya memeriksa kembali file docker compose.yml saya, dan menghapus container yang terletak di dalam file docker-compose.yml, dan tidak perlu me-restart buruh pelabuhan.

Nikmati.

Ini berhasil untuk saya. Terima kasih! :)

Masalah yang sama di sini - dalam kasus saya apache yang berjalan pada port 80 adalah masalahnya.

Orang lain di atas telah menyebutkan netstat, dan itu adalah alat yang sangat bagus. Sebuah instance dari nginx berjalan pada port 80. Saya menggunakan netstat -ano | findstr: 80 (cmd) atau bash >> netstat -ano | grep: 80, lalu matikan PID

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

Saya menyelesaikannya dengan memperbarui windows build dari 1803 hingga 1809

hentikan daemon buruh pelabuhan Anda dan mulai sebagai admin.

docker rm $(docker ps -a -q) berhasil untuk saya.

Maaf untuk menjadi orang itu, tetapi di komputer saya, me-reboot komputer adalah solusinya. Restart Docker tidak membantu.

Saya mendapat pesan kesalahan yang sama dan saya memulai ulang Docker di Windows . Itu berhasil.

Pertama, tingkatkan windows 10 ke 1809.
Kemudian, matikan "Mulai desktop Docker saat Anda masuk" di pengaturan buruh pelabuhan.
Terakhir, mulai buruh pelabuhan secara manual (Anda tidak perlu memulai ulang).
Masalahnya telah hilang dan berfungsi dengan baik di komputer saya.

bagi saya restart manual buruh pelabuhan membuatnya bekerja

Masalah yang sama untuk saya di Mac OS Mojave, mencoba membuka mailu dengan docker-compose:

$ 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.
$

dan berikut ini:

  • Docker Desktop: 2.0.0.3
  • Mesin: 18.09.2
  • Mesin: 0.16.1
  • Notaris: 0.6.1
  • Pembantu Kredensial: 0.6.0
  • Kubernetes: v1.10.11

Saya baru saja memulai ulang Mac saya, dan setelah itu berlari

$ buruh pelabuhan rm $ (buruh pelabuhan ps -a -q)

seperti yang direkomendasikan seseorang.

Berikut bait yang relevan dari docker-compose.yml untuk layanan "depan":

  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, saya tidak mendengarkan apa pun di salah satu port yang disebutkan di konfigurasi docker-compose:

$ 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     
$

bagi saya restart manual buruh pelabuhan membuatnya bekerja

Saya juga bisa memastikannya.

Kami mendapatkan masalah yang sama di windows 10. Restart tampaknya menyelesaikan masalah tetapi kami harus memulai ulang beberapa kali dalam seminggu. Apakah akan ada perbaikan untuk ini?

Saya perlu me-restart buruh pelabuhan setiap hari .. akan sangat senang jika ini diperbaiki!

Saya masih memiliki masalah yang sama. Ini terjadi jika Anda telah mengaktifkan Fast Startup (diaktifkan secara default) di Windows 10. Anda dapat menonaktifkannya -> https://www.windowscentral.com/how-disable-windows-10-fast-startup dan kemudian Anda tidak perlu untuk merestart buruh pelabuhan setiap hari. Tapi itu hanya masalah ..

Punya masalah yang sama,
cukup restart buruh pelabuhan perbaiki untuk saya

Bagi saya, itu karena kontainer lain berjalan menggunakan port tersebut. Saya baru saja mengubah pemetaan port di docker-compose.yml , misalnya untuk layanan kontainer memcache :

Dari:

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

Ke (port eksternal berikutnya di 11212):

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

Restart buruh pelabuhan bekerja untuk saya

@yedincisenol ya, tapi harus restart setiap hari agak mengganggu

Saya mengalami masalah yang sama dan ya memulai ulang menyelesaikan masalah saya. Saya harap mereka memperbaikinya.

Mulai ulang Docker ... hanya itu

Restart buruh pelabuhan di windows juga berfungsi untuk saya: /

Jika Anda menggunakan Mac dan server web buruh pelabuhan Anda tidak dapat dimulai, mungkin File Sharing - Apple menggunakan Apache bawaan untuk itu. Antara...
~sudo apachectl berhenti~
atau lebih baik lagi, matikan berbagi file.

Saya memiliki masalah yang sama, yang terkait dengan IIS, jadi saya telah menghentikannya.

Seperti yang dikatakan @AarashFarahani . Saya menghentikan IIS, yang tidak saya perlukan untuk proyek ini, dan kesalahannya hilang.

Untuk pengguna Mac: coba simpan httpd, layanan apache.

docker rm $(docker ps -a -q) berhasil untuk saya.

Tidak berfungsi untuk saya (Windows 10, versi Docker 18.09.2)

➜ sudo netstat -nlp | grep 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

Masalah terpecahkan

cukup restart buruh pelabuhan dan lakukan penerapan lagi -> berfungsi untuk saya

Punya masalah yang sama.

Solusi saya (karena tampaknya itu satu-satunya solusi) adalah menonaktifkan "Mulai Desktop Docker saat Anda masuk".
Tapi pertahankan pada program start-up dalam manajemen tugas.

Jika Anda tidak dapat menemukannya di manajemen tugas Anda, Anda dapat menempatkan pintasan di:
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Jadi tebakan saya adalah bahwa cara Docker menggunakan 'Mulai Docker Desktop saat Anda masuk' bukanlah cara yang diinginkan Windows 10.


Versi Docker:
18.09.2, build 6247962

Versi Windows:
Windows 10 Pro Insiders Preview 1903, membangun 18898.1000

Tak satu pun dari ini berhasil untuk saya. Menghentikan layanan (seperti yang dijelaskan di sini ) akhirnya berhasil:

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"

Mengklik ikon Docker Desktop di baki dan pilih Restart ... berfungsi untuk saya di Windows 10!

buruh pelabuhan: Respon kesalahan dari daemon: driver gagal memprogram konektivitas eksternal pada titik akhir sad_sanderson

Jika ada yang menggunakan Docker Desktop
Ikuti langkah-langkah Di Bawah Ini: (Hindari Memulai Ulang Desktop Docker)

  • Keluar dari Desktop Docker
  • Mulai lagi Desktop Docker
  • Ini akan bekerja dengan baik

Masalah saya adalah bahwa saya telah memulai Docker Swarm di komputer saya untuk beberapa eksperimen. Semuanya kembali normal setelah menjalankan docker swarm leave --force

Memulai ulang buruh pelabuhan setiap kali untuk masalah ini hanyalah solusi. Memang itu menyelesaikan masalah karena menghentikan semua port yang mungkin ditempati oleh kontainer. Tetapi masalah sebenarnya adalah port yang dilaporkan tidak muncul dengan netstat atau dengan perintah docker ps , sehingga sangat memusingkan untuk mengidentifikasi container mana yang menggunakan port tersebut.

Jika ada yang menemukan cara selain Docker Restart atau menonaktifkan Fast Startup, silakan posting di sini.

bagi saya restart manual buruh pelabuhan membuatnya bekerja

Saya juga bisa memastikannya.

Yup di Win10 ini berhasil

@tokopedia

Solusi : Cukup nonaktifkan "Mulai Docker Desktop saat Anda masuk".
Tapi simpan di program start-up (misalnya salin link ke docker ke folder startup Anda di sini:
% USERPROFILE% AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

Ini akan membuat Docker memulai nanti setelah masuk dan itu berfungsi untuk banyak orang.

win + r> cmd (jalankan sebagai administrator)> netstat -aon | lebih
lalu kita cari alamat lokal dengan port: 8000, ingat PIDnya,> ctrl + alt + del masuk ke "Details" flip, cari proses dengan ID seperti PID> hapus tugas (selesaikan tugas)> restart Docker anda> dan restart (Run) anda buruh pelabuhan-menulis.
Ini seharusnya memperbaiki masalah
Opsi 2: cukup buka docker-compose.yml Anda dan ubah port dari 8000 ke yang lain (port:
- '8000: 80')> Jalankan buruh pelabuhan

Memiliki masalah yang sama di sini, namun memulai ulang Docker / Windows / Hyper-V semuanya mengakibatkan kegagalan.
Ini cetakan yang saya dapatkan dari skrip run saya.
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.
ID Diag:
5C4CFABD-4AEA-4F67-9016-E9B6D58A3934/20190918072240
Script Jalankan Awal: (bahkan jika itu membantu)
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
Untuk mencoba memulai ulang penampung, saya hanya menggunakan
docker start pihole
Hasil cetak sepertinya menunjukkan bahwa ini adalah kesalahan izin, jadi saya mencoba menjalankan kedua Desktop Docker _ dan_ Powershell dengan izin yang ditinggikan, tetapi saya masih mendapatkan kesalahan yang sama. dan ketika saya mengatakan sama, maksud saya itu kata demi kata setiap saat.

Bagi mereka yang menggunakan mac, coba perintah ini untuk melihat proses dan menghentikannya (perintah lain tidak berfungsi untuk saya):

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

Mem-boot ulang Windows membantu saya.
Docker 2.1.0.3.38240

Memulai ulang buruh pelabuhan di MAC OS X MOJAVE tidak memperbaiki masalah ini untuk saya.
Saya mencoba mengekspos beberapa port, yaitu 5066, 5086, 8021, dan beberapa lainnya.

Berlari dengan sudo berhasil untuk saya.

Masalah saya adalah dengan 5000 port

$ 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

Kemudian setelah menghentikan kontainer dengan 5000 port, itu membantu saya.

$ docker stop d21a21826483

Menemukan utas ini, dan semua hal di atas tidak membantu saya.

Saya menjalankan Ubuntu dan saya harus menggunakan:

sudo service docker restart

Saya mencoba memangkas dan semua perintah lain dan buruh pelabuhan yakin tidak ada yang berjalan, tetapi setelah memulai ulang layanan, semuanya mulai bekerja lagi.

Saya memiliki masalah yang sama dan mencoba cara di atas tetapi tidak ada yang berhasil untuk saya.
Apa yang berhasil dilakukan adalah me-restart Windows.

Untuk siapa pun di windows, jika Anda melakukan encouter masalah ini setelah membangunkan windows dari mode tidur, memulai ulang komputer memecahkan masalah bagi saya.
Ada masalah serupa sebelumnya tentang peningkatan cepat di windows dan saya menganggap keduanya terkait ...

Ini memecahkan masalah saya di windows:

  • docker-compose down
  • Tutup desktop buruh pelabuhan.
  • Bunuh layanan buruh pelabuhan
    image
  • Mulai buruh pelabuhan, popup akan meminta Anda untuk mengaktifkan layanan buruh pelabuhan melalui net.exe, terima
  • docker-compose up

Mulai ulang Docker ... hanya itu

Itu solusi yang bagus, tetapi memulai ulang menunjukkan bug dan masalah ini tidak boleh ditutup.

Apa yang berhasil bagi saya adalah mengatur ulang desktop buruh pelabuhan ke nilai pabrik.

Mencoba hal di atas namun tidak berhasil. Saya membuatnya berfungsi dengan menghapus seluruh cache buruh pelabuhan saya melalui menjalankan:

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

3 tahun dan bug ini masih hidup dan sehat ...

Saya memiliki bug yang sama. Begitu terkejutnya benang ini berjalan sampai sekarang.

sudo apachectl stop ini bekerja untuk saya karena tampaknya apache berjalan di Mac

Windows 10:
buruh pelabuhan ps -a
buruh pelabuhan rm $ (buruh pelabuhan ps -a -q)
buruh pelabuhan-menulis

Saya memiliki bug yang sama. Begitu terkejutnya benang ini berjalan sampai sekarang.

Ini berhasil untuk saya:

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

Memiliki masalah yang sama di Oracle Linux. Restart layanan Docker membantu.

Ini memecahkan masalah saya di windows:

  • docker-compose down
  • Tutup desktop buruh pelabuhan.
  • Bunuh layanan buruh pelabuhan
    image
  • Mulai buruh pelabuhan, popup akan meminta Anda untuk mengaktifkan layanan buruh pelabuhan melalui net.exe, terima
  • docker-compose up

solusi di atas berhasil untuk saya, terima kasih.

saat buruh pelabuhan sedang berjalan, saya mendapatkan ini di bawah.
ketika buruh pelabuhan restart, saya masih mendapatkan ini di bawah.
ketika layanan buruh pelabuhan dimatikan dan dimulai ulang, pendudukan pelabuhan hilang, buruh pelabuhan bekerja kembali.

**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

Saya mengalami masalah ini di Ubuntu 18.04, sama seperti untuk @ Jason-2020, memulai ulang layanan buruh pelabuhan membebaskan port untuk saya juga di sistem saya.

Kedengarannya tidak logis, cukup dengan memulai ulang layanan sudah berhasil.

(Tidak perlu menghapus cache, file lama, atau apa pun.)

untuk masalah windows dengan mudah dapat memecahkan:
restart saja buruh pelabuhan Anda dan coba jalankan kembali server.
image

Sampai hari ini, penggunaan W10 masih mengalami masalah ini.
Buruh pelabuhan restart, masih memiliki masalah.
Buruh pelabuhan tertutup dan dibuka kembali, masih memiliki masalah.

Tidak ada solusi lain yang berhasil untuk saya: /

Sampai hari ini, penggunaan W10 masih mengalami masalah ini.
Buruh pelabuhan restart, masih memiliki masalah.
Buruh pelabuhan tertutup dan dibuka kembali, masih memiliki masalah.

Tidak ada solusi lain yang berhasil untuk saya: /

Coba dengan solusi LoiCha. Ini satu-satunya solusi yang benar-benar berhasil untuk saya.

Sekadar informasi, saya mengalami masalah ini dengan Amazon ECS (mode EC2), saat mencoba meluncurkan Definisi Tugas baru. Ternyata sesuatu yang lain sudah mendengarkan pada port itu di host EC2. Saya menghentikan proses dan definisi tugas dapat dimulai secara normal.

Menghentikan layanan buruh pelabuhan di pengelola tugas memecahkan masalah saya di W10

@ tsantos84 Docker akan berjalan di dalam VM saat Anda menggunakan Docker untuk Mac.

Coba yang berikut ini (saya belum menguji ini):

* `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`

Kemudian mulai ulang Docker untuk Mac dan Anda sebaiknya menggunakan +1

Terima kasih! Ini membantu saya menyelesaikan masalah dengan cepat.

@ tsantos84 Docker akan berjalan di dalam VM saat Anda menggunakan Docker untuk Mac.
Coba yang berikut ini (saya belum menguji ini):

* `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`

Kemudian mulai ulang Docker untuk Mac dan Anda sebaiknya menggunakan +1

Terima kasih! Ini membantu saya menyelesaikan masalah dengan cepat.

Hai @ fede-r1c0, Saya tidak tahu mengapa Anda menyebut saya dan mungkin Anda ingin menandai pengguna lain. Bagaimanapun, saya senang Anda menyelesaikan masalah Anda. 👍

@jamur_kejang
Dapatkah Anda memposting o / p sudo netstat -nlp | grep 8123 . Terima kasih.

dan sudo service {nameOfService} berhenti

Saya mengalami perilaku yang sama, tetapi untuk menimpa layanan, dengan membuat docker-compose.override.yml . File yang digunakan:

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"

Itu memberi saya kesalahan TIDAK TERDUGA berikut:

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.

Saya berharap bahwa ports direktif di docker-compose.override.yml akan menimpa yang sama di docker-compose.yml (port 8000 pada mesin saya sudah dialokasikan oleh aplikasi lain, itu sebabnya saya mencoba menimpa) tetapi ini tidak terjadi, yang salah dan sepertinya bug.

OS: Windows 10
Docker: 19.03.12, build 48a66213fe

Dalam kasus saya, masalahnya adalah karena menjalankan consul secara lokal tetapi juga dalam sebuah wadah.

Bagi saya itu terkait dengan firewall, pada CentOS 7, jalankan buruh pelabuhan Anda secara normal ketika bekerja, kemudian hentikan firewalld atau cukup restart, sekarang coba restart kontainer buruh pelabuhan itu, gagal dengan kesalahan ini. Mulai ulang layanan buruh pelabuhan dan coba lagi ... berfungsi dengan baik.

Saya mengalami perilaku yang sama.
Ini menyelesaikan masalah saya di centos7:
ps -ef | grep docker
kill the "...dockerd -H fd:// --containerd=/run/containerd/containerd.sock" process

Menemukan utas ini, dan semua hal di atas tidak membantu saya.

Saya menjalankan Ubuntu dan saya harus menggunakan:

sudo service docker restart

Saya mencoba memangkas dan semua perintah lain dan buruh pelabuhan yakin tidak ada yang berjalan, tetapi setelah memulai ulang layanan, semuanya mulai bekerja lagi.

TERIMA KASIH! FK KUDUS, SAYA MENGHABISKAN SEGALA HARI BERUSAHA UNTUK MEMPERBAIKI INI.
TAHUN IS 2020, ITU 4 TAHUN DAN MASALAH INI MASIH ADA. WTF

Apakah halaman ini membantu?
5 / 5 - 1 peringkat