Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 8925|Jawab: 0

Docker Container untuk mengakses layanan host eksternal

[Salin tautan]
Diposting pada 19/11/2019 10.10.01 | | | |
Jaringan default kontainer buruh pelabuhan berupa jembatan (di LAN yang sama dengan host, tetapi menggunakan IP LAN terpisah), ketika program berjalan di lingkungan produksi, Anda hanya perlu mengonfigurasi alamat layanan yang sesuai untuk terhubung ke database, redis, dll.

Dalam lingkungan pengembangan, jika layanan berjalan di buruh pelabuhan dan database berjalan secara lokal, mengonfigurasi 127.0.0.1 tidak mudah digunakan.

Ini dapat diselesaikan dengan dua cara.

Solusi 1:

Perlakukan mesin host dan kontainer sebagai dua komputer terpisah, dan konfigurasikan IP LAN host host atau IP publik saat mengonfigurasi alamat.

Solusi 2:

Tulis alamat host secara langsung sebagai: host.docker.internal, meskipunMetode kedua membutuhkan versi buruh pelabuhan yang lebih besar dari 18.03 dan harus tersedia di Windows dan Mac

Untuk menguji apakah kedua metode ini dapat mengakses host, Anda dapat langsung menjalankan gambar dengan docker untuk melakukan ping pada baris perintah:

Instal alat ping di kontainer yang dibuat dengan Docker
https://www.itsvse.com/thread-8966-1-1.html
(Sumber: Architect_Programmer)


Seperti yang Anda lihat dari gambar di atas, akses kontainerhost.docker.internalAnda dapat mengakses layanan host, dengan memeriksa file /etc/hosts, Anda akan menemukan bahwa tidak ada pengalihan nama domain, dan Anda tidak tahu prinsip dasar buruh pelabuhan secara spesifik.

Baik host maupun kontainer dapat mengakses layanan host melalui host.docker.internal, tetapi alamat yang dikembalikan oleh perintah ping berbeda, sebagai berikut:









Mantan:Contoh menjelaskan apa itu penetrasi cache Redis, longsoran cache, dan perincian cache
Depan:Kesalahan Autofac "Dependensi komponen melingkar terdeteksi" diselesaikan
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com