Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Docker透明网络和端口映射_Windows_Docker_Docker For Windows - Fatal编程技术网

Windows Docker透明网络和端口映射

Windows Docker透明网络和端口映射,windows,docker,docker-for-windows,Windows,Docker,Docker For Windows,我正在尝试在docker windows容器中运行WCF应用程序 我为docker windows容器使用了不同类型的网络。似乎有两个主要的选择NAT和透明 NAT是默认的,并且很容易支持映射端口的-p8080:80类型语法。但是,NAT阻止我访问计算机之外的任何东西。(意味着我无法连接到其他网络资源。) 透明非常适合访问我的网络资源。但是,当我尝试使用-p8080:80运行它时,会出现以下错误: failed to create endpoint distracted_gates on net

我正在尝试在docker windows容器中运行WCF应用程序

我为docker windows容器使用了不同类型的网络。似乎有两个主要的选择NAT和透明

NAT是默认的,并且很容易支持映射端口的
-p8080:80
类型语法。但是,NAT阻止我访问计算机之外的任何东西。(意味着我无法连接到其他网络资源。)

透明非常适合访问我的网络资源。但是,当我尝试使用
-p8080: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命令(给出上述错误消息):


在网桥(linux)或透明(windows)网络中不需要映射端口。此场景中的要求是在Dockerfile中使用
EXPOSE
关键字

在大多数场景(使用NAT的场景)中,
EXPOSE
关键字在您仍然需要映射您的
-p hostPort:containerPort
时,对于文档编制更有用

请参见下面Dockerfile中的
EXPOSE
关键字示例:

#document ports that are mandatory
EXPOSE 8080 8090 9000

在网桥(linux)或透明(windows)网络中不需要映射端口。此场景中的要求是在Dockerfile中使用
EXPOSE
关键字

在大多数场景(使用NAT的场景)中,
EXPOSE
关键字在您仍然需要映射您的
-p hostPort:containerPort
时,对于文档编制更有用

请参见下面Dockerfile中的
EXPOSE
关键字示例:

#document ports that are mandatory
EXPOSE 8080 8090 9000