Rumah > Operasi dan penyelenggaraan > Docker > Apakah yang perlu saya lakukan jika docker tidak dapat menyelesaikan nama domain?

Apakah yang perlu saya lakukan jika docker tidak dapat menyelesaikan nama domain?

WBOY
Lepaskan: 2022-06-27 11:00:39
asal
3482 orang telah melayarinya

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.

Apakah yang perlu saya lakukan jika docker tidak dapat menyelesaikan nama domain?

Persekitaran pengendalian tutorial ini: sistem linux7.3, docker versi 19.03, komputer Dell G3.

Apakah yang perlu saya lakukan jika docker tidak dapat menyelesaikan nama domain?

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:

Apakah yang perlu saya lakukan jika docker tidak dapat menyelesaikan nama domain?

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
Salin selepas log masuk

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
Salin selepas log masuk

Selepas konfigurasi di atas, fungsi pemajuan IP didayakan secara kekal

sysctl -p /etc/sysctl.conf
Salin selepas log masuk

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.test
Salin selepas log masuk
Perlu 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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan