/proc/; sys/net/ipv4" /ip_forward", tukar kandungan dalam fail daripada 0 kepada 1 untuk menghidupkan fungsi pemajuan ip 3. Ubah suai nilai "ip_forward" dalam fail "/etc/sysctl.conf" kepada kekal; ubah suai penghantaran ip."/> /proc/; sys/net/ipv4" /ip_forward", tukar kandungan dalam fail daripada 0 kepada 1 untuk menghidupkan fungsi pemajuan ip 3. Ubah suai nilai "ip_forward" dalam fail "/etc/sysctl.conf" kepada kekal; ubah suai penghantaran ip.">
Rumah >Operasi dan penyelenggaraan >Docker >Apakah yang perlu saya lakukan jika docker tidak dapat menyelesaikan nama domain?
Penyelesaian: 1. Gunakan "cat /proc/sys/net/ipv4/ip_forward" untuk melihat sistem fail "/proc" dan sahkan sama ada sistem telah menghidupkan fungsi pemajuan ip 2. Gunakan "; echo 1 > / proc/sys/net/ipv4/ip_forward" dan ubah suai kandungan dalam fail daripada 0 kepada 1 untuk menghidupkan fungsi pemajuan ip; 3. Ubah suai nilai "ip_forward" dalam "/etc/sysctl .conf" untuk mengubah suai pemajuan ip secara kekal.
Persekitaran pengendalian tutorial ini: sistem linux7.3, docker versi 19.03, komputer Dell G3.
Ia terus melaporkan hos yang tidak diketahui dan tidak dapat menyelesaikan nama domain. Mari kita lihat penyelesaian terperinci:
Penyelesaian
1 Fungsi pemajuan IP tidak dihidupkan secara lalai dalam sistem Linux Untuk mengesahkan status fungsi pemajuan IP,
Anda boleh melihat sistem fail /proc dan menggunakan arahan berikut:
Atas sebab keselamatan, sistem Linux melarang pemajuan paket data secara lalai.
Apa yang dipanggil pemajuan bermakna apabila hos mempunyai lebih daripada satu kad rangkaian, salah seorang daripada mereka menerima paket data dan menghantar paket ke kad rangkaian tempatan yang lain mengikut alamat IP destinasi paket data. Kad rangkaian terus menghantar data mengikut jadual penghalaan. Konfigurasikan fungsi pemajuan ip sistem Linux Mula-mula pastikan sambungan perkakasan, dan kemudian hidupkan fungsi pemajuan sistem
cat /proc/sys/net/ipv4/ip_forward. yang bermaksud penghantaran paket adalah dilarang 1 Menunjukkan kebenaran.
2 Jika nilai dalam fail di atas ialah 0, ini bermakna pemajuan IP adalah dilarang
Jika ia adalah 1, ia bermakna fungsi pemajuan IP; telah dihidupkan. Untuk menghidupkannya Dengan fungsi pemajuan IP, anda boleh mengubah suai terus fail di atas:
echo 1 > /proc/sys/net/ipv4/ip_forward
Tukar kandungan fail daripada 0 kepada 1. Melumpuhkan pemajuan IP perubahan 1 kepada 0.
3. Perintah di atas tidak menyimpan perubahan pada konfigurasi pemajuan IP. Nilai asal masih akan digunakan apabila sistem dimulakan ingin mengubah suai pemajuan IP secara kekal , anda perlu mengubah suai fail /etc/sysctl.conf dan mengubah suai nilai baris berikut:
Selepas pengubahsuaian, anda boleh memulakan semula sistem untuk membuat pengubahsuaian berkesan, atau laksanakan arahan berikut untuk menjadikan pengubahsuaian berkesan:
net.ipv4.ip_forward = 1
Selepas konfigurasi di atas, fungsi pemajuan IP didayakan secara kekal
sysctl -p /etc/sysctl.conf
Pengetahuan lanjutan:
Selepas memasuki bekas Docker, dalam fail hos, konfigurasikan resolusi nama domain.
Jika hos Docker anda tidak mempunyai arahan ping, sudah tentu anda boleh memasangnya, tidak mengapa jika anda tidak mahu memasangnya. Anda boleh menggunakan kaedah lain untuk mengesahkannya sama ada resolusi nama domain telah diselesaikan.
# 进入 docker 容器 docker exec -it my_web /bin/bash # 修改 hosts 文件 vi /etc/hosts # 添加域名解析规则 192.168.99.100 example.test # 利用 ping 命令验证一下,是否可以 ping 通 ping example.testPerlu diambil perhatian bahawa setiap kali bekas (perkhidmatan) dimulakan semula, konfigurasi yang baru ditambah dalam fail /etc/hosts dalam bekas akan menjadi tidak sah, jadi ia perlu dikonfigurasikan semula. Pembelajaran yang disyorkan: "
tutorial video buruh pelabuhan
"Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika docker tidak dapat menyelesaikan nama domain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!