Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 8925|Odpowiedź: 0

Kontener docker do dostępu do zewnętrznych usług hosta

[Skopiuj link]
Opublikowano 19.11.2019 10:10:01 | | | |
Domyślna sieć kontenera dockera ma formę mostu (w tej samej sieci LAN co host, ale z osobnym adresem IP LAN), gdy program działa w środowisku produkcyjnym, wystarczy skonfigurować odpowiadający mu adres usługi, aby połączyć się z bazą danych, redis itp.

W środowisku programistycznym, jeśli usługa działa w dockerze, a baza danych lokalnie, konfiguracja 127.0.0.1 nie jest łatwa w obsłudze.

Można to rozwiązać na dwa sposoby.

Rozwiązanie 1:

Traktuj maszynę i kontener jako dwie oddzielne maszyny i konfiguruj adres IP LAN hosta lub publiczny IP hosta podczas konfiguracji adresu.

Rozwiązanie 2:

Zapisz adres hosta bezpośrednio jako: host.docker.internal,Druga metoda wymaga wersji docker większej niż 18.03 i musi być dostępna na Windows i Mac

Aby sprawdzić, czy te dwie metody mogą uzyskać dostęp do hosta, możesz bezpośrednio uruchomić obraz w dockerze, aby pingować wiersz poleceń:

Zainstaluj narzędzie ping w kontenerze zbudowanym w Dockerze
https://www.itsvse.com/thread-8966-1-1.html
(Źródło: Architect_Programmer)


Jak widać na powyższym obrazku, dostęp do kontenerówhost.docker.internalMożesz uzyskać dostęp do usługi hosta, sprawdzając plik /etc/hosts, zobaczysz, że nie ma przekierowania nazw domen i nie znasz konkretnej zasady dockera.

Zarówno host, jak i kontener mogą uzyskać dostęp do usług hosta przez host.docker.internal, ale adres zwracany przez polecenie ping jest inny, w następujący sposób:









Poprzedni:Przykłady wyjaśniają, czym są penetracja pamięci podręcznej Redis, lawina cache i breakdown cache
Następny:Autofac "Wykryta zależność komponentu kołowego" rozwiązany
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com