


Sebab dan penyelesaian mengapa Docker tidak boleh ping rangkaian luaran
Apabila menggunakan Docker, kita akan menghadapi pelbagai masalah, salah satunya ialah ping dari rangkaian luaran tidak boleh dicapai dari dalam Docker. Masalah ini sangat biasa, tetapi ia juga serius kerana ia mungkin menghalang kita daripada menyambung kepada sumber luaran.
Terdapat banyak sebab mengapa Docker tidak boleh melakukan ping ke rangkaian luaran. Berikut ialah beberapa penyelesaian biasa.
- Semak tetapan rangkaian
Mula-mula, kami perlu mengesahkan sama ada tetapan rangkaian Docker adalah betul. Apabila menjalankan bekas Docker, anda selalunya perlu menentukan mod rangkaian. Jika mod rangkaian tidak dinyatakan dengan betul, Docker mungkin tidak dapat menyambung ke rangkaian luaran.
Kami boleh menggunakan arahan berikut untuk melihat tetapan rangkaian Docker:
docker network inspect
Dengan arahan ini, kami boleh melihat semua tetapan rangkaian Docker. Jika tetapan rangkaian tidak betul, kita perlu menggunakan arahan berikut untuk menetapkan semula rangkaian:
docker network create \ --driver bridge \ --subnet 192.168.0.0/16 \ mynetwork
Arahan di atas akan mencipta rangkaian Docker bernama mynetwork dan menetapkan subnet kepada 192.168.0.0/16.
- Semak tetapan tembok api
Tetapan tembok api mungkin menghalang Docker daripada melakukan ping ke rangkaian luaran. Kami perlu menyemak tetapan tembok api untuk memastikan akses Docker dibenarkan.
Alat yang biasa digunakan untuk tetapan tembok api ialah iptables. Kita boleh menyemak tetapan iptables menggunakan arahan berikut:
sudo iptables -L
Jika terdapat peraturan yang menyekat akses rangkaian Docker, kita perlu menambah peraturan berikut:
sudo iptables -A INPUT -p tcp --dport 2375 -j ACCEPT sudo iptables -A OUTPUT -p tcp --dport 2375 -j ACCEPT
Peraturan di atas arahan akan menambah peraturan membenarkan kebenaran akses rangkaian Docker.
- Semak tetapan DNS
Tetapan DNS boleh menghalang Docker daripada menyambung ke rangkaian luaran. Kami perlu mengesahkan bahawa tetapan DNS Docker adalah betul.
Gunakan arahan berikut untuk melihat tetapan DNS Docker:
docker exec -it container_id cat /etc/resolv.conf
Di mana container_id ialah ID bekas Docker yang akan disemak.
Jika tetapan DNS tidak betul, kami boleh menambah alamat pelayan DNS yang betul pada fail /etc/docker/daemon.json Docker:
{ "dns": ["1.1.1.1", "8.8.8.8"] }
Tetapan di atas bermakna 1.1 dan 8.8.8.8 sebagai alamat pelayan DNS.
- Semak versi Docker Engine
Akhir sekali, kami perlu mengesahkan sama ada versi Docker Engine menyokong sambungan rangkaian.
Sesetengah versi lama Docker Engine mungkin mengalami masalah sambungan rangkaian. Untuk mengelakkan masalah ini, kami perlu menaik taraf kepada versi terkini Docker Engine.
Semak versi Docker Engine menggunakan arahan berikut:
docker version
Sekiranya versi tersebut bukan yang terkini, kita perlu menaik taraf Enjin Docker menggunakan arahan berikut:
sudo apt-get update sudo apt-get install docker-ce
Arahan di atas Docker Engine akan dikemas kini kepada versi terkini dan isu sambungan rangkaian akan diselesaikan.
Ringkasnya, mungkin terdapat banyak sebab mengapa ping daripada Docker tidak dapat mencapai rangkaian luaran Kami perlu menyelesaikan masalah satu demi satu mengikut penyelesaian di atas. Hanya dengan mengesahkan punca masalah anda boleh menyelesaikan masalah sambungan rangkaian dengan berkesan.
Atas ialah kandungan terperinci Sebab dan penyelesaian mengapa Docker tidak boleh ping rangkaian luaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Docker adalah kemahiran yang mesti ada untuk jurutera DevOps. 1.Docker adalah platform kontena sumber terbuka yang mencapai pengasingan dan mudah alih dengan aplikasi pembungkusan dan kebergantungan mereka ke dalam bekas. 2. Docker bekerja dengan ruang nama, kumpulan kawalan dan sistem fail bersekutu. 3. Penggunaan asas termasuk mencipta, menjalankan dan menguruskan bekas. 4. Penggunaan lanjutan termasuk menggunakan DockerCompose untuk menguruskan aplikasi multi-kontainer. 5. Kesilapan umum termasuk kegagalan kontena, masalah pemetaan pelabuhan, dan masalah ketekunan data. Kemahiran penyahpepijatan termasuk log melihat, memasukkan bekas, dan melihat maklumat terperinci. 6. Pengoptimuman prestasi dan amalan terbaik termasuk pengoptimuman imej, kekangan sumber, pengoptimuman rangkaian dan amalan terbaik untuk menggunakan Dockerfile.

Dockervolumes memastikan data tetap selamat apabila bekas dimulakan semula, dipadam, atau berhijrah. 1. Buat Jilid: DockervolumecreatemyData. 2. Jalankan bekas dan gunung: dockerrun-it-vmydata:/app/dataubuntubash. 3. Penggunaan lanjutan termasuk perkongsian data dan sandaran.

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Kaedah Peningkatan Keselamatan Docker termasuk: 1. Gunakan parameter-cap-drop untuk menghadkan keupayaan Linux, 2. Buat bekas baca sahaja, 3 set tag Selinux. Strategi ini melindungi bekas dengan mengurangkan pendedahan kelemahan dan mengehadkan keupayaan penyerang.

Cara memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).
