Estoy ejecutando un contenedor Docker con el controlador de red MACVLAN, por lo que el contenedor tiene una dirección IP en mi red. El contenedor ejecuta una aplicación NodeJS en el puerto 3001. Uso el siguiente comando para ejecutar el contenedor Docker:
docker run --net=vlan1 --ip=172.16.3.14 -p 172.16.3.14:80:3001 --name iptv-staging -t iptv-staging
El contenedor se inicia sin problemas y se puede acceder a él en 172.16.3.14; sin embargo, solo cuando navego con :3001. No es accesible a través del puerto 80 como se muestra en el mapa. docker container ls no muestra puertos para ese contenedor:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2aa1273ad7cd iptv-staging "node app.js" 10 minutes ago Up 10 minutes iptv-stagingLa inspección del archivo Docker parece mostrar la asignación de puertos correcta:
"PortBindings": { "3001/tcp": [ { "HostIp": "172.16.3.14", "HostPort": "80" } ] },También intenté iniciar sin el HostIP definido:
docker run --net=vlan1 --ip=172.16.3.14 -p 80:3001 --name iptv-staging -t iptv-staging
Pero con el mismo resultado. ¿No estoy seguro de dónde me estoy equivocando?