我读过docker API并尝试创建一个简单的容器并显示一个端口。在Windows 10中使用Docker for Windows公开容器端口
在我的例子,我有一个关于TCP端口的9595
容器内听一个应用程序,我想从外部世界(即容器的主机)访问端口9090
。
创建容器时,我有"ExposedPorts": { "9595/tcp: {}" }
和"PortBindings": { "9595/tcp": [{ "HostPort": "9090" }] }
。
所以,如果我从主机访问http://container_internal_ip:9595
它的作品!然而,当我访问http://localhost:9090
,而这正是我希望使用此端口映射功能,这是行不通的......
在运行docker port containerID
我有9595/tcp -> 0.0.0.0:9090
,并应手段,when connecting to any IP on the host, at port 9090, forward to the container in port 9595
。
那么,这里有什么问题?为什么我不能连接到9090?
我很感激任何澄清。
问题没有足够的信息。我们至少需要docker命令,正在使用的映像或Dockerfile。 Windows容器或Linux容器? –
** Docker Remote API **针对什么码头引擎? Windows容器? Linux容器?没有基础图像,您无法运行容器。什么形象?你叫** Docker Remote API **你是怎么称呼它的?这是一个resfful权利?你使用了什么命令?我不能**知道**如果你不给** **足够的信息,你在问什么。 –
对不起,我的意思不是粗鲁的卡洛斯,但你的评论都没有与问题相关。这个形象是什么没关系。重要的是,根据API文档,我将端口9090暴露在容器外部,并映射到容器内部的端口9595,这不起作用。Netsh不会影响容器行为或配置的任何内容。 –