Är det möjligt att en docker container tilldelas ett IP direkt från routern?

Permalänk
Medlem

Är det möjligt att en docker container tilldelas ett IP direkt från routern?

Har försökt att hitta någon guide eller information om hur en docker container tilldelas ett IP. Vad jag har kunnat leta mig fram till är att jag förstår hur man ställer in docker så att den tilldelas ett valfritt IP men det är fortfarande ett IP som docker delar ut och inte routern.

Kan man göra så att routern tilldelar IPet? Skulle vilja att några av mina docker containers får ett IP direkt av routern så att jag kan nå respektive enhet via IP numret och inte via serverns IP där docker container körs. Går det? Någon som har koll på någon bra sida som visar hur man göra?

Hostar en docker container på en egen Intel Nuc som kör linux. Använder portainer för att managera dockern.

Visa signatur

Apple Mackbook Pro 15" Retina 2013

Permalänk
Medlem

Det kanske är möjligt, men varför? Vad är det för problem du försöker lösa (syfte?). Låter som att du inte borde köra docker utan LXC istället om du har ett sånt behov.

Permalänk
Medlem

Borde du inte istället ha något framför din docker container som managerar trafiken och ser till att den hamnar rätt?

Permalänk
Medlem

Du får skapa ett Docker-nätverk av typen MACVLAN och koppla din container till det, då kan du ange om du vill ha dynamiskt eller statiskt ip-nummer på resp container. Ibland funkar typ IPVLAN bättre men det varierar.

Detta kan du göra i Portainer men jag har tyvärr ingen länk att ge dig just nu.

Visa signatur

Det finns bara två sorters hårddiskar: de som har gått sönder och de som skall gå sönder.

Permalänk
Medlem

Och måste du dessutom ha tillgång till alla portarna i docker containern? Räcker det inte med att du exponerar de nödvändiga portarna direkt på docker hosten med hjälp av "ports" direktivet, exempel nedan

Följande exponerar port 80 och 443 i docker containern mot samma portar på NUC-maskinens IP-adress varpå du exempelvis kan exponera dessa mot omvärlden med en enkel port forward i routern in mot IP:t på NUC:en.

Edit:
Du kan förstås mappa vilken port som helst på NUC:en mot önskad port i containern, och sedan köra port forwarding mot den port du väljer, om du vill undvika port-konflikter om du exempelvis redan kör en webbserver direkt på NUC:en som ett exempel.

Visa signatur

Also found as @piteball@mastodon.rockhost.se

Permalänk
Medlem
Skrivet av Andi2k11:

Har försökt att hitta någon guide eller information om hur en docker container tilldelas ett IP. Vad jag har kunnat leta mig fram till är att jag förstår hur man ställer in docker så att den tilldelas ett valfritt IP men det är fortfarande ett IP som docker delar ut och inte routern.

Kan man göra så att routern tilldelar IPet? Skulle vilja att några av mina docker containers får ett IP direkt av routern så att jag kan nå respektive enhet via IP numret och inte via serverns IP där docker container körs. Går det? Någon som har koll på någon bra sida som visar hur man göra?

Hostar en docker container på en egen Intel Nuc som kör linux. Använder portainer för att managera dockern.

Hej, har du läst på dockers officiella dokumentation?
https://docs.docker.com/engine/reference/commandline/network_...

Så routern tilldelar IP:t... w00t?

Låt oss börja med grundläggande information.

1. Din docker installation är installerad på din server eller din pc.
2. Din server eller din pc får ett IP av din router som troligast är i DHCP läge dvs du får ett dynamiskt ip,
om du nu inte satt det som statiskt.
3. Du skapar nätverk i docker, och får då en egen IP range i docker t.e.x. 172.17.0.0/16 denna range är knyten till din servers IP range. Så säg att du sitter på ett klass C IP via din routers DHCP ~> 192.168.0.1/24, då är denna
IP range knyten till din klass B du fick via docker.

Exempel på klasser.
172.17.0.0 = klass B
192.168.0.0 = klass C

För att lyckas med det du vill göra så kan du istället knyta IP:n till lokal dns.
Du gör detta i din router, eller med t.e.x. pihole.

Visa signatur

[ Fractal Design Define S Svart ] [ ASUS ProArt X670E-Creator WIFI ] [ Amd Ryzen 9 7950x3D ]
[ G.Skill Trident 64GB DDR5 6000MHz ] [ Noctua NH-D15 Chromax Black ]
[ Western Digital Black SN850X 1TB Gen4 ] [ Samsung 870 QVO 2TB MZ-77Q2T0BW ]
[ ASUS TUF GeForce RTX 3080 10GB Gaming OC ]
[ Corsair AX860 80 Plus Platinum ] [ Gigabyte 32" M32U IPS 4K 144 Hz HDMI 2.1 ]