我正在使用MACVLAN网络驱动程序运行Docker容器,因此该容器在我的网络上具有IP地址。该容器在端口3001上运行NodeJS应用。我使用以下命令运行Docker容器:
docker run --net=vlan1 --ip=172.16.3.14 -p 172.16.3.14:80:3001 --name iptv-staging -t iptv-staging
容器启动没有问题,可以在172.16.3.14处访问,但是仅当我使用:3001浏览时才可以访问。无法通过映射的端口80进行访问。 docker container ls
不显示该容器的端口:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2aa1273ad7cd iptv-staging "node app.js" 10 minutes ago Up 10 minutes iptv-staging
检查Docker文件似乎显示了正确的端口映射:
"PortBindings": {
"3001/tcp": [
{
"HostIp": "172.16.3.14",
"HostPort": "80"
}
]
},
我还尝试了在未定义HostIP的情况下启动:
docker run --net=vlan1 --ip=172.16.3.14 -p 80:3001 --name iptv-staging -t iptv-staging
但结果相同。不确定我要去哪里错了吗?