Docker CE a změna vnější IP adresy (Windows 10)

08.05.2018

Docker CE for Windows je standardně dostupný přes doménové jméno localhost. Což je výhodné pro jednoduché projekty, ale nedostačující pro komplexnější řešení.

IP adresa přímo v konfiguraci nastavit nelze. Což je logické, protože lze vytvořit více běžících Docker Machine a každá bude potřebovat vlastní IP adresu. Nastavit lze tedy rozsah, ve kterém se budou přidělovat adresy. Ve výchozím stavu je to rozsah 10.0.75.0/24.

Pro virtual machine v Hyper-V se potom vytvoří síťové rozhraní DockerNAT.

A v detailu nastavení lze vidět přidělenou IP adresu 10.0.75.1

Jak jsem psal v instalaci Docker Toolbox (Windows 10), vyhradil jsem si celou doménu isnt.cz pro potřeby používání dockeru, ale na IP adrese 192.168.99.100. A to mi je s výše uvedeným celkem k ničemu 🙄

Co tedy s tím?

Nabízí se samozřejmě úprava rozsahu na 192.168.99.0 (popravdě řečeno, to vlastně ani není potřeba nastavovat, jen je to čistější). Tím DockerNAT dostane IP adresu 192.168.99.1. A to lze jednoduše změnit na požadovanou adresu IPv4 končící stovkou.

Síťové rozhraní má správnou IP adresu. Je čas na test, k čemuž poslouží základ pro nginx.

A díky chybějíci favicon.ico je vidět že funguje jak IP adresa, tak i doménové jméno.

Jupí, všechno vyřešeno a vzhůru do práce. Ale kdepak... 😕

Každé nové spuštění totiž provede reset nastavení síťového rozhraní DockerNAT a přiřadí mu novou IP adresu dle nastaveného rozsahu. Což by znamenalo neustálé úpravy IP adresy. A tohle prostě nikdo řešit nechce. 

Takže závěr je, že lze změnit rozsah, lze změnit i IP adresu, ale neudrží se.


P.S. A jak jsem vyřešil můj odpor k localhost? Doplnil jsem DNS záznamy domény isnt.cz, takže má teď další A záznam pro IP adresu 10.0.75.0 😎