问题标签 [windows-server-container]

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 投票
1 回答
114 浏览

kubernetes - 无法从 Windows 容器访问 Kubernetes API 服务器

我有 kubernetes 1.17.4 正在运行并且 Windows 节点加入了它。覆盖网络在访问 Kubernetes 中的所有服务时工作正常,唯一的问题是 windows 容器无法访问https://kubernetes,TCP 级别的连接失败。

Flannel 以 VXLAN 模式安装。

网络工作正常,例如下面是在 Linux 节点上运行的 Kibana pod,我可以从 Windows 节点连接到它,但与 API 服务器的相同通信失败。与 Kube-DNS 的相同连接成功

0 投票
1 回答
335 浏览

kubernetes - Windows pod 的名称解析在 1.18.1 上不起作用

在下面有以下设置。Flannel 处于 VXLAN 模式。名称解析不适用于 Windows 节点。验证以下工作:

  1. Windows POD -> 外部 DNS 服务器解析
  2. Windows POD -> 到 kubernetes API 服务 IP 的 HTTPS 连接
  3. 主服务器上的 Linux POD -> 针对 DNS 服务的名称解析

以下不起作用:

  1. Windows POD -> 针对 DNS 服务的 DNS 查询
  2. Windows POD -> 针对 DNS pod 的 IP 的 DNS 查询

DNS 复制

0 投票
1 回答
26 浏览

postgresql - 从 windows 容器外部化 postgreSQL 数据库

我有一个 APP 在 windows 2016 平台上的容器内运行。该应用程序使用 postgreSQL 数据库。我们希望在容器销毁和另一个容器再次启动时持久化数据库。所以我们要持久化数据库记录。我看到了 Linux 平台的 postgress 容器,但没有看到 windows 容器。我们使用窗口服务器核心映像作为基础。有人可以建议我们如何保留数据库信息。

谢谢拉维

0 投票
0 回答
140 浏览

docker - Docker Windows 错误报告 StackOverflowExceptions 的崩溃转储不工作

我正在尝试配置一个 docker 映像,以便在容器崩溃时获得内存转储。

我已经为“Windows 错误报告”配置了注册表设置,以便它应该将转储文件写入主机上的映射目录。

这适用于未处理的用户异常,但不适用于堆栈溢出异常或内存不足异常。

我在这里创建了一个 github 存储库,其中包含一个最小的问题示例 - https://github.com/spreadex/win-docker-crash-dump

如果有人知道如何使它工作,那将是最合适的。

干杯。

0 投票
1 回答
551 浏览

sql-server - 在 Docker 容器中的 Server Core 2019 上安装 SQL Server LocalDB

在 Docker 容器 (image = mcr.microsoft.com/windows/servercore:ltsc2019) 中,我下载了 SQL Server Express 2019 安装程序。

我已经成功下载了 LocalDB msi:

文件下载到:

但是...运行msiexec失败,没有任何错误消息。导航到上述路径后,我执行:

该命令在零延迟后立即返回命令行。什么都没有安装。

我错过了什么?

编辑: 我正在尝试使用 LocalDB,因为这最终将成为 Azure Pipelines 构建代理。我们使用使用 LocalDB 的 Redgate 的“SqlChangeAutomation”powershell 工具。

编辑 2: 不确定这是否是进展,但是......我用 msiexec 记录了一下,发现我可以用/a标志运行它,而不是/i让它成功安装。

然而不幸的是,在导航到C:\Program Files\Microsoft SQL Server\150\tools\binn并运行SqlLocalDB.exe info时,我得到了这个:

0 投票
1 回答
172 浏览

docker - PortSip SDK C#:Docker 容器中的 DllNotFoundException 而本地\EC2 运行良好

我有一个使用 PortSip 库的 .NET 核心应用程序。到目前为止,无论是在我的 Windows 10 笔记本电脑本地还是在安装了 Windows Server 2019 的 EC2 AWS 实例中,一切都运行良好,现在我想在 Docker 容器中进行这项工作。

所以我使用了一个类似于上面提到的 Dockerfile 这个链接https://schwabencode.com/blog/2018/08/30/ASP-NET-Core-with-NET-Framework-on-Docker来拥有一个 Windows Server Core 映像使用 .NET 框架(PortSip 需要)和 .NET 核心(我的应用程序需要)以及添加的命令来安装 C++ Redistributable。

结果是我在尝试运行我的应用程序时收到以下错误:

DLL在那里!此外,当我将它们更改为 PortSip 的 32 位 DLL 时,错误变为“尝试加载格式不正确的程序”。这意味着感觉到 DLL 的存在,但由于某种原因,仍然无法加载。还值得一提的是,在上面提到的空白 EC2 中使用完全相同的安装(.NET 和 C++ 可再发行组件),该应用程序可以正常工作。

我错过了什么?

提前感谢

0 投票
1 回答
2229 浏览

windows - 错误无效的 Windows 挂载类型:Windows 容器的 Windows 10 docker 构建上的“绑定”

我刚刚安装了最新的 Windows 10 Pro 20H2。安装 Docker Desktop 并将其切换为 Windows 容器后,它要求我执行以下操作

完成后,我的电脑重新启动,一切看起来都很好。然后我将以下内容保存Dockerfile在我的文档下的一个空目录中。我之前在 CI 系统中成功构建了这个 Dockerfile,但我想在我的机器中构建以加快开发周期。

我想构建这个 Dockerfile,所以在包含它的目录上,在 Powershell 中我输入:

但我得到了错误:

这是什么错误invalid windows mount type: 'bind'

我还关注了这里的文档:https ://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/building-sample-app但仍然遇到同样的invalid windows mount type: 'bind'错误。

0 投票
0 回答
30 浏览

windows - Windows docker内的二进制文件不显示错误消息

通常,当 Windows 下的二进制文件无法加载依赖项(例如丢失的 dll)时,它们会通过弹出消息显示这一点。当我在 windows 服务器核心 docker 容器中运行相同的二进制文件时,相同的二进制文件会停止并且由于容器是无头的而无法显示弹出窗口。有什么方法可以让我看到错误消息并调试问题的日志文件?

PowerShell get-eventlog 也没有显示与此相关的任何内容。

我怀疑崩溃原因与“缺少 dll”有关的原因是,程序的 %errorlevel% 返回码是-1073741515. 一些谷歌搜索显示它指示此错误代码:

通用描述是“应用程序未能正确初始化”。这通常意味着缺少应用程序的组件或支持文件之一——通常是动态链接库 (DLL)。

0 投票
0 回答
45 浏览

docker - SendInput 和/或 keybd_event 在 Windows docker 容器中工作吗

我正在容器化一个 Windows 应用程序,该应用程序包含一个需要在启动应用程序之前运行的命令行实用程序。该实用程序需要一些用户输入,我希望能够通过启动该实用程序并将数据写入其标准输入来自动执行此步骤。不幸的是,我发现该实用程序不会从标准输入中读取数据,而是会监听键盘事件。我想出了如何以编程方式生成键盘事件并确认一切都可以完全自动化,但似乎我使用的所有 winapi 函数都不能在 docker 容器内工作。

在 Windows Server Core 2019 容器中使用时, SendInputkeybd_event都返回错误代码 5(拒绝访问)。我尝试将这些函数称为 ContainerAdministrator 和 System ,但都不起作用。如果我手动输入输入,该实用程序在容器内工作;所以我知道它能够监听和接收键盘事件。有什么我想念的吗?我需要切换一些安全设置以允许使用 SendInput 和/或 keybd_event 吗?或者这只是 Windows 容器设计禁用所有用户桌面/UI 功能的一种情况?

我也尝试过在容器内工作的WriteConsoleInput,但该实用程序不响应这些调用;我认为这是因为它没有使用 ReadConsoleInput 或任何其他控制台读取功能。

0 投票
1 回答
65 浏览

windows - Docker 上的 Worker 服务在启动时返回 1053 错误

首先,Docker新手。尝试在 mcr.microsoft.com/windows/servercore:1909 docker 映像上运行 .Net5 Worker 服务,并将 .Net5 和 3.1 sdks 安装到系统上。

该服务由一个 C# 程序(它是一个较大包的一部分)安装,该程序使用 advapi32.dll 的包装器来创建 Windows 服务和 SCM 并以其他方式与它一起工作。在包括主机系统在内的其他计算机上,该服务已正确安装并将继续运行。在 docker 镜像上安装后,会创建服务(以 AutomaticDelayed 启动),但会返回“服务未及时响应启动或控制请求”作为唯一错误。

无论是查看日志还是在 docker 容器上手动(从 powershell)运行服务,服务都将继续运行,直到 SCM 因超时而终止它。我已将 ServicesPipeTimeout 注册表项延长至 10 分钟,并且 SCM 在无法响应后仍会使应用程序超时。

有什么想法吗?

编辑:对使用 .UseWindowsService() 有疑问,但我们已经在使用它。这是我们所有服务都在使用的主程序。

编辑编辑:如果可能,我正在尝试在 Windows Server Core 映像上运行它。我不知道这是否会影响 Worker Services 的功能。