docker - 从局域网设备访问 docker 容器
问题描述
我是 docker 的新手;我正在为 Mac 运行 docker desktop,并且我有一个带有 IP 的容器192.168.73.10
。
我在初始设置期间80
将端口转发设置为端口。443
我可以从本地主机(我的 Mac)访问这个容器的 Web 服务就好了;但是,连接到我的 LAN 的所有设备都在10.20.0.0/24
子网上。
如何从 LAN(10.20.0.0/24
子网)上的设备访问容器上的 Web 服务?我有端口80
并443
在我的 Mac 上打开。在论坛上找不到任何有用的答案。请帮忙!
解决方案
有几种方法。例如,您可以像这样启动容器:
docker run --restart always -p 9017:80 -d --name organizr --net=my-bridge organizrtools/organizr-v2
在上述情况下,您可以通过端口连接到站点,9017
因为您在计算机上公开了该端口。因此,如果您的机器的 IP 是例如10.20.0.1
您将使用http://10.20.0.1:9017
. 您可以在 LAN 上的任何机器上使用它。
或者,如果你没有在你的机器上打开一个端口,而只是在容器中设置端口,你可以通过它的主机名来调用它,默认情况下也是容器的名称。
例如,您创建了这样的容器:
docker run --restart always -d --name organizr --net=my-bridge organizrtools/organizr-v2
由于容器内的默认端口设置是 port 80
,因此您将进入如下页面:http://organizr:80
. 不过,这需要从您的一个 docker 网络中调用。
推荐阅读
- asp.net-mvc - 如何将 azure key vault 与 ASP.NET MVC 应用程序一起使用?
- oracle - 在 oracle 中将图像插入到 BLOB 列
- python - 如何将 XML 数据(从链接中检索)转换为类似字节的对象?
- linux - 守护进程 sighup 使用
- r - 获取 geom_contour / geom_tile 以处理我的数据
- .htaccess - 重定向 .htaccess 后删除旧网址
- spring - 引起:org.hibernate.search.exception.SearchException:HSEARCH000114:无法加载资源:'synonyms.txt'
- elasticsearch - 集群中的 Elasticsearch 索引位置
- reactjs - 使用 flexDirection "row" 查看我的屏幕
- angular - 如何在网站中使用整个 Angular 应用程序?