Estoy ejecutando un contenedor acoplable de Windows en un host de Windows Server 2016, ejecutando la configuración predeterminada.
Al ejecutar el contenedor docker usando el comando:
docker run -it microsoft/windowsservercore powershell
Cuando ejecuto el comando:
ping <hostIPAddress>
Simplemente dice que la solicitud se agota. He comprobado que puedo hacer ping a 8.8.8.8 y google.com, etc... e incluso a otras máquinas en la misma subred. El único al que no puedo hacer ping es al host.
He agregado '--dns' al comando 'docker run', pero esto solo me permite hacer ping a la máquina host a través del nombre de host y no de IP.
¿Alguien más ha visto este problema y tiene una solución?
Encontré una solución (no estoy dispuesto a llamarlo solución):
Controladores de red de contenedores de Windows : cree una red 'transparente':
docker network create -d transparent trans
Adjuntar contenedor a esta red
docker run --network=trans ...
Importante : tenga en cuenta que con esta red, su contenedor necesita obtener una dirección IP de la subred del host y está directamente expuesto a ella.
Según https://github.com/Microsoft/Virtualization-Documentation/issues/253#issuecomment-217975932 (JMesser81):
Esta es una limitación conocida en nuestra implementación de NAT de Windows (WinNAT) que no puede acceder al puerto externo en un mapeo de puerto estático directamente desde el host del contenedor (NAT).
En mi caso, tengo un cortafuegos de McAfee gestionado por la empresa ejecutándose en mi host de Windows. No pude agregar ninguna regla adicional en el firewall, pero afortunadamente había una regla que permitía el acceso desde 172.16.0.0/24.
Utilicé "docker network create -d transparent trans" y funcionó como se describe, pero no estaba satisfecho con una IP de mi red host asignada al contenedor.
Hice lo siguiente:
Esperando que esto pueda ayudar a alguien.
En Windows 10, cuando alojé un contenedor de Linux en 0.0.0.0:5057, pude hacer ping a mi servidor desde mi host de Windows (powershell) usando la dirección IP de la NIC de vEthernet (conmutador predeterminado) que se encuentra en Panel de control>Todos los elementos del panel de control> Conexiones de red: