


Docker ialah enjin kontena sumber terbuka yang sangat popular Ia digunakan secara meluas dalam persekitaran pembangunan dan pengeluaran kerana ia boleh dibina dengan cepat, mudah diurus dan memastikan kemudahalihan aplikasi. Walau bagaimanapun, apabila menggunakan Docker untuk membina aplikasi web, tidak jarang port tidak dapat berkomunikasi. Hari ini kita akan menganalisis sebab dan penyelesaian mengapa port web yang dibina oleh Docker disekat.
1. Analisis sebab
- Sebab firewall
Perkhidmatan firewall iptables didayakan secara lalai dalam sistem Linux. firewall mungkin menyekatnya bekas docker anda berkomunikasi dengan rangkaian luaran. Oleh itu, anda boleh mematikan tembok api atau menambah peraturan supaya Docker boleh berkomunikasi dengan rangkaian luaran dengan lancar. Berikut ialah arahan rujukan:
Tutup tembok api: $ sudo service iptables stop
Buka port: $ sudo iptables -A INPUT -p tcp --dport 80 -j TERIMA
- Sebab pemetaan port
Selepas Docker memulakan kontena, ia memetakan port dalam bekas ke port pada hos melalui pemetaan port untuk membolehkan komunikasi antara kontena dan rangkaian luaran. Secara lalai, rangkaian kontena adalah bebas dan hanya berkomunikasi secara dalaman. Oleh itu, jika anda tidak memetakan port di dalam bekas, ia mungkin menyebabkan port tidak dapat berkomunikasi. Berikut ialah cara lalai untuk memetakan port:
$ docker run -p 80:80 image-name
- Isu rangkaian kontena
Terdapat tiga jenis dalam pemacu Rangkaian Docker ialah jambatan, hos dan tiada. Apabila menggunakan bekas Docker, pemacu rangkaian jambatan digunakan secara lalai, membentuk rangkaian maya berdasarkan rangkaian NAT. Jika bekas anda tidak boleh mengakses rangkaian luaran, anda mungkin perlu menyemak sama ada pemacu rangkaian anda dipilih dengan betul. Anda boleh menggunakan arahan berikut untuk menyemak pemacu rangkaian:
$ docker network ls
- Masalah alamat IP kontena
Selepas Docker memulakan bekas, ia akan berdasarkan pemacu rangkaian Ia memberikan alamat IP yang unik. Jika alamat IP bekas anda tidak boleh mengakses rangkaian luaran, anda perlu menyemak sama ada kad rangkaian yang disambungkan kepadanya dikonfigurasikan dengan betul. Dalam contoh berikut, kita dapat melihat bahawa alamat IP bekas ialah 172.17.0.2:
$ docker inspect container-name | grep IPAddress
2
Sahkan sama ada pemetaan port adalah betul- Anda boleh menggunakan kaedah berikut untuk melihat perhubungan pemetaan port:
$ nama kontena port docker
Kandungan output hendaklah:
80/tcp -> 0.0.0.0:80
Arahan di atas boleh melihat pemetaan port di dalam bekas ke port pada hos.
Sahkan sama ada pemacu rangkaian dipilih dengan betul- Anda boleh menggunakan kaedah berikut untuk menyemak jenis rangkaian yang digunakan oleh bekas:
$ docker periksa nama bekas |. grep NetworkMode
Jika output adalah jambatan, ini bermakna pemacu rangkaian telah dipilih dengan betul. Jika output adalah hos atau tiada, anda boleh menukarnya seperti berikut:
Tukar jenis rangkaian kepada jambatan:
$ docker run --network bridge image-name
Sahkan sama ada tembok api dimatikan atau peraturan ditetapkan dengan betul
- Anda boleh menambah parameter --privileged semasa menjalankan perintah Docker untuk memberi bekas Docker kebenaran yang lebih tinggi:
$ docker run --privileged image-name
Sahkan sama ada alamat IP bekas adalah betul- Anda boleh menggunakan arahan berikut untuk melihat alamat IP bekas:
$ docker inspect container -name |. grep IPAddress
Jika alamat IP bekas anda berubah, anda boleh menggunakan arahan berikut untuk menetapkan semula alamat IP unik:
$ docker run --ip 172.17.0.10 image-name
Ringkasnya, apabila port aplikasi web yang dimulakan oleh Docker anda tidak dapat berkomunikasi, anda harus terlebih dahulu menyiasat apa yang menyebabkan keadaan ini, dan kemudian menyelesaikan masalah dengan cara yang sepadan. Harap artikel ini dapat membantu semua.
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika port web yang dibina oleh docker disekat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Butiran artikel yang menggerakkan aplikasi ke docker swarm, meliputi penyediaan, langkah penempatan, dan langkah -langkah keselamatan semasa proses.

Artikel ini menerangkan pod, penyebaran, dan perkhidmatan Kubernetes, memperincikan peranan mereka dalam menguruskan aplikasi kontena. Ia membincangkan bagaimana komponen ini meningkatkan skalabiliti, kestabilan, dan komunikasi dalam aplikasi. (159 aksara)

Artikel ini membincangkan aplikasi penskalaan di Kubernet menggunakan skala manual, HPA, VPA, dan AutoScaler kluster, dan menyediakan amalan dan alat terbaik untuk pemantauan dan mengautomasikan skala.

Artikel ini membincangkan pengurusan penyebaran Kubernet, memberi tumpuan kepada penciptaan, kemas kini, skala, pemantauan, dan automasi menggunakan pelbagai alat dan amalan terbaik.

Artikel ini membincangkan pelaksanaan kemas kini rolling di Swarm Docker untuk mengemas kini perkhidmatan tanpa downtime. Ia meliputi perkhidmatan mengemas kini, menetapkan parameter kemas kini, memantau kemajuan, dan memastikan kemas kini yang lancar.

Artikel membincangkan pengurusan perkhidmatan dalam Swarm Docker, memberi tumpuan kepada penciptaan, skala, pemantauan, dan mengemas kini tanpa downtime.

Butiran artikel ini melaksanakan pembatas kadar dan kuota sumber dalam Docker. Ia meliputi CPU, memori, dan had I/O menggunakan cgroups, menekankan amalan terbaik untuk mencegah keletihan sumber. Mengehadkan kadar rangkaian, memerlukan alat luaran seperti

Artikel ini membincangkan strategi untuk mengoptimumkan Docker untuk aplikasi latency rendah, yang memberi tumpuan kepada meminimumkan saiz imej, menggunakan imej asas ringan, dan menyesuaikan peruntukan sumber dan tetapan rangkaian.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini
