Dalam Docker, rangkaian adalah bahagian yang sangat penting. Kerana setiap bekas perlu disambungkan ke Internet untuk melengkapkan pelbagai fungsi dan interaksi. Walau bagaimanapun, masalah status rangkaian adalah perkara biasa, seperti tidak dapat menyambung ke rangkaian luaran, kependaman rangkaian yang berlebihan, dsb. Oleh itu, pengguna Docker amat perlu memahami cara membuat pertanyaan dan menyelesaikan masalah rangkaian.
Dalam artikel ini, kita akan membincangkan cara untuk menanyakan status rangkaian Docker dan cara menyelesaikan masalah rangkaian biasa.
1. Tanya status rangkaian Docker
Kami boleh menggunakan alatan Docker sendiri atau alatan pihak ketiga untuk menanyakan status rangkaian. Mari perkenalkan mereka secara berasingan di bawah.
Docker menyediakan beberapa arahan terbina dalam untuk menanyakan status rangkaian dengan cepat boleh menanyakan konfigurasi rangkaian Docker, topologi rangkaian, sambungan rangkaian dan Rangkaian lalu lintas dan maklumat lain.
1) Konfigurasi rangkaian Query Docker
Kami boleh menggunakan perintah berikut untuk menanyakan maklumat konfigurasi rangkaian Docker:
docker network ls
Arahan ini akan menyenaraikan semua rangkaian Docker yang tersedia, termasuk Nama mereka, ID, jenis pemandu, subnet, get laluan, dsb.
2) Tanya topologi rangkaian Docker
Kita boleh menggunakan arahan berikut untuk melihat topologi rangkaian Docker:
docker network inspect
Arahan ini akan mengembalikan topologi rangkaian dalam JSON format, Ia mengandungi semua sambungan antara bekas dan rangkaian.
3) Sambungan rangkaian Docker Pertanyaan
Kita boleh menggunakan perintah docker network connect
untuk menyambungkan bekas dan rangkaian. Gunakan arahan berikut untuk menanyakan sambungan antara bekas dan rangkaian:
docker network inspect <network_name>
Arahan ini akan mengembalikan topologi rangkaian dalam format JSON, yang mempunyai medan "Containers"
, yang menyenaraikan semua yang disambungkan ke bekas pada rangkaian itu.
4) Pertanyaan trafik rangkaian Docker
Kami boleh menggunakan perintah docker stats
untuk menanyakan penggunaan sumber bekas Docker, yang mengandungi maklumat trafik rangkaian:
docker stats <container_name>
Perintah ini akan mengeluarkan penggunaan sumber masa nyata bagi bekas yang ditentukan, termasuk CPU, memori, trafik rangkaian, cakera, dsb.
Selain alatan yang disertakan dengan Docker, alatan pihak ketiga juga merupakan pilihan yang baik. Berikut ialah beberapa alatan pihak ketiga yang biasa digunakan:
1) netstat
netstat
ialah alat diagnostik rangkaian biasa yang boleh digunakan untuk melihat status sambungan rangkaian, memproses maklumat, dsb. Kita boleh menggunakan arahan ini untuk menanyakan status sambungan rangkaian bekas Docker.
netstat -antp | grep <container_id>
Arahan ini akan mengembalikan semua maklumat sambungan rangkaian dan maklumat proses yang sepadan bagi bekas yang ditentukan.
2) tcptraceroute
tcptraceroute
boleh mendiagnosis laluan sambungan TCP dan kelewatan rangkaian serta maklumat lain. Jika kami ingin menguji keadaan rangkaian antara bekas Docker dan pelayan sasaran, kami boleh menggunakan alat ini untuk mendiagnosis.
tcptraceroute <destination_ip>
Arahan ini akan mengeluarkan maklumat seperti laluan dari bekas Docker ke pelayan sasaran dan kependaman rangkaian.
3) iperf
iperf
ialah alat ujian lebar jalur rangkaian yang boleh digunakan untuk menguji lebar jalur rangkaian, kelewatan dan maklumat lain. Jika kita ingin menguji lebar jalur rangkaian antara bekas Docker dan pelayan sasaran, kita boleh menggunakan alat ini untuk menguji.
iperf -c <destination_ip>
Arahan ini akan mengeluarkan maklumat lebar jalur rangkaian daripada bekas Docker ke pelayan sasaran.
2. Menyelesaikan masalah rangkaian biasa
Semasa proses konfigurasi rangkaian Docker, kami mungkin menghadapi beberapa masalah rangkaian biasa. Jom selesaikan masalah ini di bawah.
Ini adalah masalah rangkaian yang paling biasa Kami perlu menyemak perkara berikut:
1) Semak mesin hos Sama ada konfigurasi DNS adalah betul.
2) Semak sama ada konfigurasi rangkaian Docker betul.
3) Periksa sama ada sambungan rangkaian bekas itu normal.
Lengah rangkaian mungkin terlalu tinggi antara bekas dan pelayan sasaran Kami boleh menyelesaikannya melalui kaedah berikut:
1) Tingkatkan lebar jalur dan tingkatkan kelajuan penghantaran rangkaian.
2) Laraskan jarak antara bekas dan pelayan sasaran untuk meminimumkan kelewatan rangkaian.
3) Optimumkan kod program dalam bekas untuk mengurangkan kependaman rangkaian.
Masalah biasa juga ialah kontena tidak boleh mengakses satu sama lain Kami perlu menyemak perkara berikut:
1) Semak sama ada konfigurasi rangkaian Docker adalah betul.
2) Periksa sama ada port kontena adalah betul.
3) Semak sama ada alamat IPv4 bekas adalah betul.
4) Semak sama ada ID bekas bekas itu betul.
Ringkasan
Masalah status rangkaian adalah sangat biasa, dan dalam Docker kita perlu menyemak konfigurasi rangkaian dengan teliti dan menyelesaikan masalah rangkaian. Melalui pengenalan artikel ini, kita boleh mengetahui cara untuk menanyakan status rangkaian Docker dan menyelesaikan masalah rangkaian biasa Saya percaya petua ini pasti akan membantu anda menyelesaikan masalah rangkaian apabila menggunakan Docker.
Atas ialah kandungan terperinci Cara pekerja pelabuhan menyemak status rangkaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!