[英]docker port mapping is not working on windows 10 even after the port is made free
[英]Docker Transparent Network and port mapping
我正在尝试让 WCF 应用程序在 docker windows 容器中运行。
我已经尝试过 docker windows 容器的不同类型的网络。 似乎有两个主要选项 NAT 和透明。
NAT 是默认设置,并且很容易支持-p 8080:80
类型语法来映射端口。 但是,NAT 阻止我访问计算机以外的任何内容。 (意味着我无法连接到其他网络资源。)
透明非常适合访问我的网络资源。 但是当我尝试使用-p 8080:80
运行它时,会出现以下错误:
failed to create endpoint distracted_gates on network basic: hnsCall failed in Win32:
Port mapping is not supported on the given network. (0x803b0016).
在透明网络上似乎“不支持端口映射”。
所以,这引出了我的问题:
如何指定端口以使用透明网络连接到我的 Windows 服务? (或者有没有更好的方法我还没有理解。)
注意:如果相关,这是我的 docker run 命令(给出上述错误消息):
docker run --network myTransparentNetwork --security-opt "credentialspec=file://mygMSA.json" -d -p 8080:80 myContainerImage:myTag
无需在网桥 (linux) 或透明 (windows) 网络中映射端口。 此场景中的要求是在EXPOSE
使用EXPOSE
关键字。
一旦您仍然需要映射您的-p hostPort:containerPort
在大多数场景(使用 NAT 的情况下)中的EXPOSE
关键字对于文档目的更有用。
请参阅以下EXPOSE
关键字的示例:
#document ports that are mandatory
EXPOSE 8080 8090 9000
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.