/ Vystavte kontajner na náhodnom porte na internej IP - dokovacej stanici

Vystavte kontajner na náhodnom porte na internej IP - dokovacej stanici

Rád by som mohol spustiť kontajner s -P parameter, pričom sa viaže na vnútornú podsieť 10.10.0.0/22.

Predvolene raz vykonajte niečo takéto:

docker run -d -P --name=nginx nginx

Bude to vyzerať takto:

CONTAINER ID        IMAGE         COMMAND                  CREATED             STATUS              PORTS                        NAMES
dbb556c99c81        nginx         "/usr/sbin/nginx"        2 minutes ago       Up 2 minutes        0.0.0.0:32773->80/tcp        nginx

Odhaliť to na 0.0.0.0/0 Existuje spôsob, ako urobiť tento môj interný IP?

odpovede:

2 pre odpoveď č. 1

Môžete sa ručne viazať na konkrétne rozhranie pri výbere jednotlivých portov -p, napríklad:

$ docker run -d -p 127.0.0.1:8080:80/tcp --name test-nginx nginx
2e07ebc61bcdc82a187a27eabca10211a4c9ac09d66e516e5c176d7282cffe2b

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                             NAMES
2e07ebc61bcd        nginx               "nginx -g "daemon off"   5 seconds ago       Up 2 seconds        443/tcp, 127.0.0.1:8080->80/tcp   test-nginx

s -P, používa rozhranie konfigurované na démone (dockerd alebo docker daemon). V predvolenom nastavení je to 0.0.0.0, ale môžete ho zmeniť na iný IP:

$ dockerd --help
# ...
--ip=0.0.0.0             Default IP when binding container ports

Všimnite si, že 0.0.0.0 počúva na všetkých rozhraniach, takže jediný dôvod na zadanie konkrétnej IP je zablokovať kontajner ďalej, nie otvoriť ho pre vaše prostredie.