问题标签 [docker-for-windows]

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.

0 投票
3 回答
637 浏览

docker - vmwarevsphere 上的 windows docker

我们公司的虚拟机使用 VMWare vSphere。

要自动创建 docker 主机,我们使用一个简单的命令:

它会自动在我们的 VM 集群中创建新的 VM 机器,安装 docker,然后我们将其添加到 swarm 或创建新的。

现在我需要创建 windows docker 主机来运行 windows 容器。Docker-machine 在创建 VM 后安装 boot2docker.iso。但相反,我需要带有 microsoft servercore 或 nano 的 VM。我该怎么做?

非常感谢。安东

0 投票
1 回答
3334 浏览

docker - 托管在 Windows 10 上的 Windows 容器丢失其 DNS

我正面临这种情况,我的基于 Windows 的容器失去了解析 DNS 的能力。

这就是发生的事情

启动一个容器来测试 dns 解析 docker run -it microsoft/windowsservercore powershell

从容器内部

Test-NetConnection google.com -Port 443

失败

PS C:> Test-NetConnection google.com -Port 443 警告:google.com 的名称解析失败 -- 状态:这通常是主机名解析期间的临时错误,意味着本地服务器没有收到来自权威服务器的响应ComputerName:google.com RemoteAddress:InterfaceAlias:SourceAddress:PingSucceeded:False

但应该是这样的

PS C:\Users\asarafian> Test-NetConnection google.com -Port 443 ComputerName : google.com RemoteAddress : 216.58.204.14 RemotePort : 443 InterfaceAlias : vEthernet (External Virtual Switch) SourceAddress : 10.98.5.139 TcpTestSucceeded : True

我总是使工作站(Windows 10)休眠,并在其上运行 Hyper-V 实例和 Docker。工作站是 Windows 10,据我所知,当问题发生时,它使用 Windows 10 主机的 IP 作为 DNS。

从容器内

172.19.128.1是我的 Windows 10 主机 IP。

同时,当 Windows 10 主机容器卡住时,其他一切都正常解析 DNS。

  • Windows 10 上的任何进程。
  • Windows 10 上的 Hyper-V 实例。
  • 容器托管在 Windows 10 上的 Hyper-V 实例上。

重新启动机器并不能解决问题。这是第二次出现这种情况。以前我不得不重置整个 docker 安装来解决这个问题。我想避免这种情况并了解问题所在以及如何解决。

Docker 版本是

更新 1 - 20170408

根据@chris-lawrence 评论的要求,以下内容ipconfig /all来自主机和容器内部。有趣的方面是 dns 解析在容器内部工作。

容器内

在容器主机上

出于好奇,我检查了 hyper-v 实例的状态,它们已关闭。我的感觉是,当 hyper-v(s). 我最怀疑的是,当系统在 hyper-v 实例运行时从休眠状态恢复时会发生一些奇怪的事情。我去查一下......

我做了检查,一切都还好。但是 hyper-v(s) 是为有线网络适配器设置的,因此在 WIFI 上则没有网络。可能是在这种情况下他们不干涉。

更新 2 - 20170411

根据@chris-lawrence 评论的请求,以下是ipconfig /all来自主机和网络上存在问题的容器内部的内容。正如@GSA 所建议的那样,此时容器主机上的防火墙已关闭。

容器内

PS C:> ipconfig /all

我注意到只有一个dns 条目172.19.128.1是内部 docker。

在容器主机上

更新 3 - 问题已修复

我刚刚升级到 Windows 10 创建者更新,突然问题就停止了。目前,我认为通过 Windows 更新解决了这个问题。但是对于遇到类似问题的人来说,我在更新方面只落后了一周,我不认为这是问题所在。是否会再次发生有待观察。

0 投票
2 回答
1854 浏览

curl - 对 docker 后面的 keycloak 的令牌请求,curl 有效,reactjs 无效

以下情况:

使用 docker compose ( http://127.0.0.1:8083 )设置 Keycloak 服务器

当我这样做时:

有用。

然后我尝试在 react.js 上做同样的事情,如下:

它不起作用。我得到以下信息:

在此处输入图像描述

旁注:在 keycloak 上,我设置了允许来源 * 也很奇怪:我看到用户已经从 ip 172.17.0.1 打开了会话(我猜这是由 curl 引起的)

问题:如何使它从 react.js 工作?问题 2:为什么它在 curl 中工作而不是在 axios 中工作?

0 投票
2 回答
1102 浏览

docker-volume - 无法将卷标志与 Windows 容器一起使用

我正在尝试以与在 linux/mac 上通过-v "$(pwd)":/code. 我想不出一个简单的例子来使它与 Windows 容器一起工作。

我尝试了无数其他变体,这里接受的答案给出了同样的错误。

文档似乎只指 Docker Toolbox 。这个例子只给了我invalid bind mount spec

我的 Dockerfile

操作系统名称:Microsoft Windows 10 Pro 操作系统版本:10.0.14393 N/A Build 14393

版本 17.03.1-ce-win5 (10743) 频道:稳定 b18e2a5

免责声明:我最初在docker 论坛上发布了这个,但没有任何回应。

0 投票
2 回答
791 浏览

docker - 在 Windows 下登录时启动 Docker 容器

我刚刚设置了一台新的 Windows 10 开发机器,为了尽量减少安装的麻烦,我使用 docker-compose 脚本在 Docker 下运行了各种开发依赖项(Oracle、MongoDB、RabbitMQ、HAProxy 等)。

我想在 Windows 登录时自动启动这些容器,但我还没有想出办法来做到这一点;一个在正确目录中执行的简单脚本docker-compose up -d应该可以做到,但如果它在登录时立即执行,Docker 尚未启动,因此脚本失败。有谁知道如何以编程方式等到 docker 运行?

0 投票
1 回答
361 浏览

docker - 无法在 win 10 VM 上启动 docker

我们无法在 win 10 VM 上启动 docker,以下是错误详细信息:

无法写入数据库。退出代码: 1 在 Docker.Backend.ContainerEngine.Linux.DoStart(Settings settings) 在 Docker.Backend.ContainerEngine.Linux.Start(Settings settings) 在 Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass8_0.b__0(Object[]参数)在 Docker.Core.Pipe.NamedPipeServer.RunAction(字符串动作,对象 [] 参数)

任何解决该问题的意见将不胜感激。

谢谢。

0 投票
1 回答
599 浏览

docker-compose - 为 docker 本地开发容器使用自定义主机名

我正在使用适用于 Windows 的 Docker Desktop(刚开始),并且有这个简单docker-compose.yml的,效果很好:

一旦我运行docker-compose up -d它,它就会为数据库、phpmyadmin 和 wordpress 网站创建容器,并且可以访问并且工作正常。

我的问题是,如何设置“project.dev”而不是“localhost:8080”来访问 wordpress 站点和“phpmyadmin.dev”而不是“localhost:8090”来访问 phpmyadmin?我还需要什么其他工具?请注意,我使用 Windows 10 作为主机。

0 投票
9 回答
66425 浏览

docker - Docker windows容器内存限制

带有Docker Desktop for Windows的 docker windows 容器是否有默认内存限制?我有一个应用程序在容器中运行时崩溃,但是当我尝试为命令指定--memory 2048mb参数时,docker run它似乎运行良好。至少在它之前崩溃的情况下。这给我的印象是有默认内存限制,但我在文档中找不到它。所以我的问题是有内存限制,如果它在哪里记录?

0 投票
6 回答
10490 浏览

dockerfile - 通过 windows docker 文件设置 git

我写Dockerfile的是基于windowsnanoserver的。我需要添加到这个图像 git。为了实现它,我做了以下事情:

但是当我通过 docker build 执行这​​些行时,我收到以下错误消息:

Invoke-Expression:术语“c:\Git-2.12.2.2-64-bit.exe”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

我意识到此错误消息表明由于 Windows docker 映像的控制台性质,我将无法执行 GUI 安装程序。不幸的是 git 没有控制台安装程序。Chocolateywindowsservercore图像下工作正常,但在windowsnanoserver上不起作用。为了为windowsnanoserver安装 git,我想重复Dockerfile来自巧克力 git 安装程序的命令,这对我来说很好,但我仍然想知道有没有更简单的方法在windowsnanoserver上安装 git ?

0 投票
3 回答
3748 浏览

docker - 从容器访问 docker 远程 API

我正在尝试从容器内访问 Docker 远程 API,因为我需要启动其他容器。

主机地址是172.19.0.1,所以我http://172.19.0.1:2375/images/json用来获取图像列表(来自主机,http://localhost:2375/images/json按预期工作。

连接被拒绝,我猜是因为 Docker (for Windows) 监听127.0.0.1而不是0.0.0.0.

我尝试更改配置(从 UI 和daemon.json)添加条目:

但守护进程无法启动。我怎样才能访问api?