Penyelesaian kepada kegagalan port docker swarm: 1. Edit fail konfigurasi dan tambah konfigurasi "net.ipv4.ip_forward=1"; 2. Mulakan semula rangkaian melalui "systemctl restart network".
Persekitaran pengendalian artikel ini: sistem centOS6.8, Docker versi 18.09.x, komputer Dell G3.
Bagaimana untuk menyelesaikan masalah pelabuhan docker kawanan disekat? Masalah rangkaian docker swarm
Rangkaian dalaman hos docker adalah perkara biasa, tetapi sambungan dengan hos lain gagal untuk menyambung ke port yang dipetakan pada docker hos, dan rangkaian dalaman docker tidak boleh disambungkan.
WARNING: IPv4 forwarding is disabled WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled
Edit fail konfigurasi
vim /etc/sysctl.conf
Tambah konfigurasi
net.bridge.bridge-nf-call-ip6tables=1 net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-arptables=1 net.ipv4.ip_forward=1
Laksanakansysctl -p
Berkuatkuasa
Mulakan semula rangkaian
systemctl restart network
Semak maklumat docker sekali lagi, amaran hilang dan rangkaian docker pada hos kembali normal.
Pelayan yang saya gunakan ialah Pelayan Awan Alibaba
Jika kluster anda menggunakan port lalai 4789, maka anda mungkin menghadapi masalah yang sama seperti saya masalah.
Terdapat ayat ini dalam dokumentasi bantuan Alibaba Cloud:
Sebelum menambah pemantauan UDP, beri perhatian kepada sekatan berikut:
Port pemantauan UDP 250, 4789 dan 4790 Port dikhaskan untuk sistem dan tidak dibuka kepada orang ramai buat masa ini.
Butiran
Dalam versi 19.03 dan lebih baru, docker menambah item konfigurasi –data-path-port uint32 pada swarm init untuk menukar port VXLAN dari docker swarm.
Masalah itu berjaya diselesaikan selepas mengubah suai port
sudo docker swarm init --data-path-port 5789
Lihat log docker (journalctl -u docker -n 20 -f) dan mendapati:
level=error msg="error reading the kernel parameter net.ipv4.vs.expire_nodest_conn" error="open /proc/sys/net/ipv4/vs/expire_nodest_conn: no such file or directory"
Ini berlaku kerana mesin hos tidak memuatkan modul ip_vs. Mulakan semula docker selepas memuatkan modul ip_vs pada setiap nod. [Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"]
modprobe ip_vs service docker restart
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah pelabuhan docker swarm disekat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!