Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [docker] DNS hosta
nospor
post 5.02.2016, 18:23:58
Post #1





Grupa: Moderatorzy
Postów: 36 449
Pomógł: 6292
Dołączył: 27.12.2004




Hej, orientuje sie ktos jak podpiac DNS hosta do kontenerow w docker? Probowalem roznych sposobow z neta ale cos za bardzo nie dzialaja sad.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
by_ikar
post 5.02.2016, 19:00:21
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Co masz namyśli poprzez podpięcie DNS hosta? Co chcesz konkretnie uzyskać ?
Go to the top of the page
+Quote Post
nospor
post 5.02.2016, 19:48:10
Post #3





Grupa: Moderatorzy
Postów: 36 449
Pomógł: 6292
Dołączył: 27.12.2004




W firmie mamy wewnetrzny dns przez co wiemy, ze
mysql-test ma takie a takie ip i nie musimy pisac IP serwera tylko piszemy mysql-test

Niestety nazwa mysql-test nie jest juz widoczna wewnatrz kontenera. Samo IP serwera jest widoczne, ale nazwa pobierana z firmowego dns juz nie.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
by_ikar
post 6.02.2016, 12:16:14
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Sam w sobie DNS raczej nigdy nie testowałem, ale kiedy potrzebowałem jakiegoś curl wewnątrz kontenera do hosta w sieci lokalnej, to używałem tego tak:

Kod
extra_hosts:
- "mysql-test:192.168.0.24"


To jest przykład z compose, w przypadku samego dockera wyglądało by to tak:

Kod
docker run --add-host="mysql-test:192.168.0.24"


To zwyczajnie dodaje do /etc/hosts wpis ip:host, bo normalnie gdybyś ręcznie coś dodał do tego pliku to restart kontenera zwyczajnie by ten wpis usunął, bo cały plik /etc/hosts jest wypełniany przez dockera, w ten sposób tworzy "linki" do innych kontenerów. Jest to w sumie jeden z elementów sieci dockera, czyli możliwość łączenia z innymi zasobami/kontenerami, które są zlokalizowane na innych hostach/sieciach.

Dokumentacja dla compose: https://docs.docker.com/compose/compose-file/#extra-hosts
Dokumentacja dla run: https://docs.docker.com/engine/reference/ru...etwork-settings

Tak jak już ci wspominałem, najlepiej jest używać docker-compose, bo podmiana konfiguracji nie wiąże się z skasowaniem samego kontenera, no i można taką konfiguracje trzymać na repo i współdzielić z innymi. U mnie w firmie każde repo teraz ma swój plik docker-compose.yml biggrin.gif

EDIT: w sumie przypomniałem sobie że jest wiele narzędzi "service discovery" tyle że jeszcze żadnego nie testowałem, z racji tego że wszystko nad czym pracuje musi być najbardziej przenośne jak to tylko możliwe. Ale większość narzędzi o których czytałem, to były narzędzia które działały na zasadzie bardzo podobnej do wpisania takiego hosta do konfiguracji, z tą różnicą, że stawiałeś sobie taką usługę powiedzmy etcd, do której inne kontenery się odwoływały i pobierały z niej konfiguracje, w ten sposób na jakiejś maszynie restartując kontener, lub dodając jakąś maszynę do swojego klastra, pozostałe maszyny miały już tą konfiguracje, bo ona sama w sobie jest scentralizowana (coś jakby). Jest wiele różnych narzędzi, wystarczy wrzucić docker service discovery i dostaniesz pierdylion wyników, bo zanim libnetwork dockera będzie stabilny produkcyjnie (póki co jest rc) do tworzenia sieci kontenerów pomiędzy hostami, to ludzie zdążyli napisać wiele swoich narzędzi. Osobiście wolę natywne rozwiązania, co by polegać na jednym narzędziu, a nie dziesiątkach zewnętrznych, więc wpisuje konfiguracje ręcznie.

Ten post edytował by_ikar 6.02.2016, 12:26:06
Go to the top of the page
+Quote Post
nospor
post 6.02.2016, 21:07:56
Post #5





Grupa: Moderatorzy
Postów: 36 449
Pomógł: 6292
Dołączył: 27.12.2004




Ja to robilem tak, ze kopiowalem plik z hostami i potem go dopisywalem do /etc/hosts kontenera

docker exec KONTENER /bin/sh -c "cat /etc/hosts.local >> /etc/hosts"

Ale poszedlem po rozum i przejrzalem jeszcze raz dokumentacje docker-compose.yml.... sierota ze mnie:
Cytat
dns

Custom DNS servers. Can be a single value or a list.

dns: 8.8.8.8
dns:
- 8.8.8.8
- 9.9.9.9

dns_search

Custom DNS search domains. Can be a single value or a list.

dns_search: example.com
dns_search:
- dc1.example.com
- dc2.example.com


Ale dzieki za wpis. To po nim i po extra_hosts tknelo mnie, by jeszcze raz zajrze do dokumentacji


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.04.2024 - 10:34