添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
发财的太阳  ·  GitHub - ...·  1 月前    · 
勤奋的鸭蛋  ·  RUN Instruction Using ...·  1 月前    · 
小眼睛的火车  ·  How to run Docker ...·  1 月前    · 
爽快的伤痕  ·  组件问题 - JumpServer 文档·  3 周前    · 
留胡子的硬币  ·  codeinterview/linux/fi ...·  3 月前    · 
宽容的橡皮擦  ·  npm ERR! code ...·  4 月前    · 
心软的蟠桃  ·  Apple ...·  5 月前    · 
不拘小节的牛腩  ·  排名优化_百度百科·  6 月前    · 

VPN直通

Docker Desktop网络连接到VPN后可以正常工作。为此,Docker Desktop会拦截来自容器的流量,并将其注入Windows,就像它源自Docker应用程序一样。

使用 -p 参数运行容器时,例如:

$ docker run -p 80:80 -d nginx

Docker Desktop使得容器中端口80(在本例中为nginx)上运行的任何内容都在的端口80上可用localhost。在此示例中,主机端口和容器端口相同。如果需要指定其他主机端口怎么办?例如,如果您已经在主机的端口80上运行了某些设备,则可以将容器连接到其他端口:

$ docker run -p 8000:80 -d nginx

现在,到localhost:8000的连接将发送到容器中的端口80。语法为-pIS HOST_PORT:CLIENT_PORT

HTTP / HTTPS代理支持

请参阅代理

已知限制,用例和解决方法

以下是针对Windows网络的Docker桌面堆栈当前限制的摘要,以及一些解决方法的想法。

Windows上没有docker0桥

由于在Windows的Docker桌面中实现了联网的方式,因此您无法docker0在主机上看到接口。该接口实际上在虚拟机中。

我无法ping我的容器

Windows的Docker桌面无法将流量路由到Linux容器。但是,您可以ping Windows容器。

每个容器的IP寻址是不可能的

Windows主机无法访问docker(Linux)桥接网络。但是,它适用于Windows容器。

用例和解决方法

上述限制会影响两种情况:

我想从容器连接到主机上的服务

主机的IP地址正在更改(如果没有网络访问权限,则没有IP地址)。我们建议您连接到特殊的DNS名称host.docker.internal,该名称 解析为主机使用的内部IP地址。这是出于开发目的,不适用于Docker Desktop for Windows以外的生产环境。

您也可以使用来访问网关gateway.docker.internal

如果您在计算机上安装了Python,请按照以下说明作为示例,从容器连接到主机上的服务:

运行以下命令以在端口8000上启动简单的HTTP服务器。

python -m http.server 8000

如果您已安装Python 2.x,请运行python -m SimpleHTTPServer 8000

现在,运行一个容器,安装curl,并尝试使用以下命令连接到主机:

 $ docker run --rm -it alpine sh
 # apk add curl
 # curl http://host.docker.internal:8000
 # exit

港口转运工程localhost; --publish-p-P所有的工作。从Linux公开的端口将转发到主机。

我们当前的建议是发布端口,或从另一个容器连接。如果容器位于覆盖网络而不是桥接网络上,那么即使在Linux上,这也是您需要执行的操作,因为这些容器未路由。

入门中nginx显示的用于运行Web服务器的命令 就是其中的一个示例。