


Bagaimana untuk menyelesaikan masalah yang docker tidak dapat berkomunikasi dengan host dns
Penyelesaian untuk Docker tidak berfungsi dengan DNS hos
Docker ialah platform kontena aplikasi yang digunakan secara meluas yang menyediakan persekitaran kontena mudah alih, berskala dan berskala. Walau bagaimanapun, kadangkala Docker akan menghadapi pelbagai masalah apabila digunakan dengan DNS hos, seperti ketidakupayaan untuk menyelesaikan nama domain, kependaman tinggi dan sebagainya. Artikel ini akan memperkenalkan sebab mengapa Docker tidak boleh digunakan dengan DNS hos dan penyelesaiannya.
Sebab
Docker menggunakan teknologi seperti Cgroups dan Namespace untuk menyediakan persekitaran terpencil sepenuhnya daripada hos dalam bekas. Persekitaran pengasingan ini melindungi bekas, tetapi juga menghalang bekas daripada berkomunikasi melalui pelayan DNS hos. Oleh itu, perkhidmatan DNS hos tidak boleh digunakan untuk resolusi nama domain di dalam bekas.
Penyelesaian
Untuk menyelesaikan masalah Docker tidak boleh digunakan dengan DNS hos, kami boleh mengambil langkah berikut:
1 dalam bekas Docker
Kami boleh menyediakan pelayan DNS tersuai dalam Docker untuk menggantikan pelayan DNS lalai. Kami boleh menyediakan pelayan DNS tersuai dengan menggunakan arahan berikut dalam Dockerfile:
RUN echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Ini akan menambah pelayan DNS awam Google 8.8.8.8 pada fail /etc/resolv.conf dalam bekas. Kami boleh menyediakan berbilang pelayan DNS dengan menambahkan berbilang pelayan nama.
2. Sediakan pelayan DNS Docker dalam mesin hos
Kami boleh menyediakan pelayan DNS Docker dalam mesin hos supaya bekas boleh melaksanakan resolusi nama domain melalui mesin hos. Kami boleh menyediakan pelayan DNS Docker dengan menambahkan konfigurasi berikut dalam fail /etc/docker/daemon.json:
{ "dns": ["8.8.8.8", "8.8.4.4"] }
Ini akan menambah pelayan DNS awam Google 8.8.8.8 dan 8.8.4.4 kepada Docker dalam pelayan DNS. Kami boleh menyediakan berbilang pelayan DNS dengan menambahkan berbilang pelayan DNS.
3. Gunakan pilihan --dns bagi bekas Docker
Kita boleh menggunakan pilihan --dns apabila memulakan bekas Docker untuk menetapkan pelayan DNS bekas. Contohnya:
docker run --dns 8.8.8.8 -it ubuntu:latest
Ini akan menetapkan pelayan DNS awam Google 8.8.8.8 sebagai pelayan DNS bekas.
Ringkasan
Docker tidak boleh digunakan dengan DNS hos kerana Docker menggunakan beberapa teknik untuk menyediakan persekitaran terpencil dalam bekas. Untuk menyelesaikan masalah ini, kami boleh menetapkan pelayan DNS tersuai dalam bekas Docker, tetapkan pelayan DNS Docker dalam hos, atau gunakan pilihan --dns bekas Docker untuk menetapkan pelayan DNS bekas. Penyelesaian ini membolehkan Docker bekerja dengan DNS hos supaya kami boleh menggunakan platform kontena Docker dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah yang docker tidak dapat berkomunikasi dengan host dns. 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 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).

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.

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