docker - Mac 上的 Service Fabric Docker 仅公开一个端口
问题描述
我正在尝试在运行 Docker Desktop 的本地 MacBook Pro 上试用 Service Fabric。我正在关注位于此处的 Microsoft 文档:https ://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started-mac
当我去启动 Docker 容器时,我正在调用这个命令
docker run --rm --name svcfabric -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18
但是,唯一暴露的端口是 25106。19080 上的 Web 控制台无法访问。端口 19000 未暴露。
我通过跑步看到了这一点
sudo lsof -i -nP | grep LISTEN
显示唯一的泊坞窗行
com.docke 29799 username 51u IPv6 0x34c6afc17f8b91eb 0t0 TCP *:25106 (LISTEN)
com.docke 30499 username 11u IPv4 0x34c6afc15c8ec573 0t0 TCP 127.0.0.1:54131 (LISTEN)
但是,如果我做一个
docker port svcfabric
它会列出所有预期的端口......(我会放一个样本,但范围很长,它运行的时间很长)
19000/tcp -> 0.0.0.0:19000
19000/tcp -> :::19000
25109/tcp -> 0.0.0.0:25109
25109/tcp -> :::25109
25153/tcp -> 0.0.0.0:25153
25153/tcp -> :::25153
25155/tcp -> 0.0.0.0:25155
25155/tcp -> :::25155
25182/tcp -> 0.0.0.0:25182
25182/tcp -> :::25182
25100/tcp -> 0.0.0.0:25100
25100/tcp -> :::25100
25125/tcp -> 0.0.0.0:25125
25125/tcp -> :::25125
如果我从命令中删除端口范围docker run
并且只有 -p 19080:19080 -p 19000:19000,那么只有端口 19000 被暴露。如果我只有 -p 19080:19080,那么端口 19080 可以工作,我可以打开 Web 控制台。
谁能告诉我发生了什么事?
解决方案
https://github.com/docker/for-mac/issues/5247
所以...原来是 IPv6、Mac 和 Docker 的错误。
推荐阅读
- swift - 如何在swiftui中自定义导航栏
- document - K2 五中如何序列化或反序列化一个xml字符串?
- java - Eclipse HelloWorldSWT 教程:无法访问导入包
- javascript - NODE JS + Postman:无法修补 URL
- excel - 如何计算我指定条件的总实例数
- c++ - 在函数中使用文本文件替换单词时得到不需要的输出
- javascript - 为什么我在 jquery 请求后从模态表单中得到错误的 json 格式?
- java - 如何修复 Scanner 抛出 NoSuchElementException 但不等待输入?
- javascript - 如何安全地将 Firestore 文档与存储文件连接起来
- python-3.x - 取 3D 数组的最后一列