问题标签 [docker-for-mac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - 禁止来自 Docker for Mac 上的 Docker 容器的出口
我想禁用 docker 容器向外界发起的所有传出连接。我可以在 linux 中通过向 linux 中的 FORWARD 链添加规则来做到这一点。如何在 Docker for Mac 中执行此操作?
我发现 Docker for Mac 使用 xhyve vm,这就是 docker0 接口所在的地方。这连接到主机中的哪个接口?我在 Mac 上使用 nettop,我看到 Docker 使用我的 en0 无线接口。但是,我不确定 Docker 和 xhyve 是否使用相同的界面。
编辑:添加了 docker-for-windows 标签,因为它们可能有类似的解决方案(希望)
编辑 2: Docker for Mac 发生了变化,因此接受的解决方案发生了一些变化
docker - 使用 Docker for Mac 时使用 :cached 绑定挂载,是主机还是容器上的延迟?
osxfs 缓存页面,部分delegated
内容如下:
对于使用
delegated
容器挂载的目录,文件系统的视图是权威的,容器执行的写入可能不会立即反映在主机文件系统上。
部分cached
内容如下:
对于挂载的目录
cached
,主机对文件系统的看法是权威的;容器执行的写入对主机立即可见,但在主机上执行的写入在容器中可见之前可能存在延迟。
这对我来说不清楚。如果,使用cached
,主机对系统的看法是权威的,那不应该意味着如果主机上的某些东西发生变化,它会立即反映在容器中吗?为什么延迟在“权威”方面?
macos - Docker for MAC - 强制静态 IP
我正在使用 Docker for Mac(以前我在 Windows 上使用 Docker Tollbox)并且我遇到了问题 - Docker 不时更改 IP - 到目前为止它只使用 IP 192.168.0.198 和 192.168.0.196
问题是 - 是否有可能以某种方式强制 Docker 始终使用相同的 IP。
当我设置时,现在非常令人沮丧:
- 此 IP 的主机
- SSH 到这个 IP
- 数据库到这个IP
一段时间后,我似乎需要再次将其切换到另一个 IP,因为 Docker 决定使用不同的 IP。据我所知,这在 Windows 上从未发生过——Docker 一直使用相同的 IP。
如果您需要在此处添加更多内容,请告诉我。
node.js - Docker for mac,nginx:连接上游时没有实时上游
下面的配置在 Ubuntu 上运行良好,但在 Mac OSX 和 Docker for Mac 上运行不正常。
我有一个后端应用程序 (PHP/Symfony) 和一个前端应用程序 (NodeJs/Angular2) 后端在 MacOSX 上运行良好。但不是前端,Nginx 说 502 和
在日志中。
docker -compose.yml:
查看来自 nginx的mysite.conf :
主管管理所有服务:
编辑: 我为 Web 服务器和主管添加了 Dockerfile
docker-for-mac - Docker for Mac(Edge) - Kubernetes - LoadBalancer
非常酷,我们在 Docker for Mac 中有一个 LoadBalancer。
我对创建的端口有疑问:
这给了我(kubectl 获取服务):
是什么32455
?
谢谢
macos - 挂载被拒绝:路径 /var 和 /var/x 不与 OS X 共享,并且不为 Docker 所知
我正在尝试基于 jenkins 和 docker 文件在 jenkins 上运行管道作业。如以下文档中所述:https ://jenkins.io/doc/book/pipeline/docker/
Dockerfile(用于基于 vuejs 的项目):
詹金斯文件:
运行作业时,一切似乎都很好,直到出现以下错误:
问题:Docker:挂载被拒绝。路径 ... 不是从 OS X 共享的,并且 Docker 不知道不会引导我找到解决方案。
更新 当我试图强制 docker 使用不同的文件夹时,例如通过将 run args 提供给 docker run 命令:
这些似乎是ingored:
c# - 无法启动服务挂载被拒绝 '/usr/local/share/dotnet/sdk/NuGetFallbackFolder\r\n' 不是来自 macOS X 的共享并且 docker 不知道
我已经在 macOS X 上的 asp.net core 2.0 项目中创建了一个项目,上面有 docker 支持。成功创建项目并添加了 docker 支持。
当我运行项目时,我收到一个错误
无法启动服务 merorentalwebapi: b'Mounts denied: \r\n路径 /usr/local/share/dotnet/sdk/NuGetFallbackFolder\r\n 未从 OS X 共享,并且不为 Docker 所知。\r\n您可以配置共享来自 Docker -> 首选项... -> 文件共享的路径。\r\n有关详细信息,请参阅https://docs.docker.com/docker-for-mac/osxfs/#namespaces。\r\n。' /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/AddIns/docker/MonoDevelop.Docker/MSbuild/Sdks/Microsoft.Docker.Sdk/build/Microsoft.VisualStudio.Docker.Compose.targets(363,5) : error : 启动项目时遇到错误..
这是来自 docker 首选项的列表
从这个链接Docker: Mounts denied 尝试了一些解决方案。路径...不是从 OS X 共享的,并且 Docker 不知道 但没有帮助我解决问题。
我如何解决这个问题,因为我是 Apple Mac OS 上 .net 的新手。
docker - 如何从 Docker-for-mac 或 Docker-for-Windows 获取可浏览的 url?
在 minikube 中,我可以通过minikube service kubedemo-service --url
. type: LoadBalancer
在 Kubernetes 模式下,如何在 Docker for Mac 或 Docker for Windows 中获取服务的 URL ?
service.yml
是:
当我切换type: NodePort
并运行时,kubectl describe svc/kubedemo-service
我看到:
我可以浏览http://localhost:31838/
查看内容。切换到type: LoadBalancer
,我看到 localhost 入口行,kubectl describe svc/kubedemo-service
但我开始ERR_CONNECTION_REFUSED
浏览它。
(我很熟悉,http://localhost:8080/api/v1/namespaces/kube-system/services/kubedemo-service/proxy/
虽然这会改变站点的根目录,破坏假定根目录的 css 和 js 引用。我也很熟悉,kubectl port-forward pods/pod-name
虽然它只连接到 pod,直到 k8s 1.10。)
如何浏览到type: LoadBalancer
Docker for Win 或 Docker for Mac 中的服务?
docker - 如何通过命令行为 Docker for Mac 配置交换空间?
Docker for Mac 有一个 GUI 界面,用于为托管容器的 Hypervisor 设置 cpu、ram 和 swap 值。通过打开 docker 菜单并转到 Preferences -> Advanced,可以看到所有 3 个设置。
此外,可以从docker info
命令的输出中解析 cpu 和 ram 设置,但此处未列出交换信息。我也找不到任何其他 docker cli 实用程序输出 Docker for Mac 的交换设置信息。
您如何通过命令行工具获取此交换设置信息?