问题标签 [nano-server]

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 回答
76 浏览

perl - Perl system() 不在 nano 服务器中等待

我正在尝试在基于 Windows 2016 Nano Server 的 docker 容器中运行 Perl 脚本。为此,我使用的是 ActivePerl 5.24。

现在我遇到了一个有趣的问题,即 system() 调用在我的 2016 Server 主机和 2016 Nano Server 容器中的行为不同。

在主机 Windows 2016 Server 上,它按预期工作:

在我的 Docker 容器中的 Nano 服务器上,它看起来像这样:

所以你可以看到输出丢失并且返回码不是0。

如果我现在按回车..

所以看起来 system() 没有等待并返回 768 (无论这意味着什么)

我也尝试使用“ping -v”而不是“perl -c”,但同样的事情发生了,所以它一定是与 system() 实现相关的东西。

有谁知道为什么同一个调用在 docker 容器中的行为完全不同,以及我可以做些什么来让 system() 等待?

更新: 当我使用 microsoft/windowsservercore 作为基础映像时,我确认它可以工作。所以这里发生的一切似乎都是 Nano Server 特有的。

0 投票
0 回答
452 浏览

docker - 'vc_redist.x64 未安装在 microsoft/nanoserver 映像中

我想使用 microsoft/nanoserver 作为我的要求的基础映像,并想在其中安装“vc_redist.x64”包,但我无法安装,因为它返回一些错误,如下所示:

在此处输入图像描述

这是我的 Dockerfile:

但是,如果我使用“microsoft/windowsservercore”,则基本映像大小会迅速增加,并达到 12+ GB。具有大的基本图像尺寸不符合我的要求。

有没有办法在 'microsoft/nanoserver' 中安装 'vc_redist.x64' 及其依赖项?

任何帮助深表感谢。

0 投票
1 回答
1873 浏览

windows - 如何使用 Powershell 在 Docker RUN 命令中扩展参数?

我有一个使用 Windows Nano Server 基础映像并使用 Powershell 作为 shell 的 Dockerfile:

我现在想使用命令定义一个变量(或通过它传递--build-argARG,然后在RUN命令中使用它,但我似乎无法让它工作。我试过了:

但这些都不起作用。

如何告诉 docker / powershell 正确扩展我的变量?

0 投票
1 回答
230 浏览

.net - 重新执行错误:退出状态1:输出:ProcessUtilityVMImage \UtilityVM:系统找不到指定的路径

我想创建简单的 asp.net 核心应用程序并将其部署到 windows server 2016 docker 容器。

这是我的服务器操作系统,我提取了最新的 nanoserver 基础映像

在此处输入图像描述

当我尝试拉应用程序时,它给了我错误?: 在此处输入图像描述

在此处输入图像描述

我阅读了有关操作系统兼容性的信息,但不明白出了什么问题。

默认的 asp.net 核心应用程序 docker 文件看起来像

我必须如何为我的虚拟服务器更改它?

0 投票
2 回答
5680 浏览

docker - 在 Windows Server 2019 上为 Docker 拉取 Windows 映像存在操作系统兼容性问题

我最近尝试在 Windows Server 2019 实例上提取并运行 Docker 映像(可在 Windows 10 上运行),但失败并显示以下错误消息:

容器操作系统与主机操作系统不匹配。

我已经在正常Windows Server Core和存储库的最新版本上尝试过它。Nano Servermicrosoft/windowsservercoremicrosoft/nanoserver

我不明白,因为这些是在 Windows 操作系统上运行的 Windows 内核。

0 投票
1 回答
737 浏览

c++ - x64 C++ 可执行文件未在 nanoserver docker 容器中运行

我正在尝试将 C++ 项目作为 .exe 文件发送到 docker nanoserver 容器中。我知道 nanoserver 只能运行 x64 可执行文件,所以我仔细检查了可执行文件是为 x64 构建的。

该项目不基于 Visual C++,也不包含任何 .NET 库。

如果我在容器中运行 .exe,它只会静默退出而没有任何输出。有没有办法检查为什么 exe 不会在容器内运行?我可以通过 powershell 连接到容器。

我使用的 dockerfile:

0 投票
1 回答
1596 浏览

windows - 无法拉取 nanoserver:1903 Docker 映像

我想拉纳米服务器:1903

用于此的命令行是从Docker Hub复制的,该页面还说,此图像是在 2 周前创建的:05/22/2019

当我执行 pull 命令时,我收到了错误消息。

1903:从 windows/nanoserver中提取
清单列表条目中未知的匹配清单

我错过了什么?

我在 Windows 10 上,一些额外的诊断信息:

Swarm:非活动
默认隔离:hyperv
内核版本:10.0 17763 (17763.1.amd64fre.rs5_release.180914-1434)
操作系统:Windows 10 Pro 版本 1809 (OS Build 17763.404) 操作系统
类型:windows
架构:x86_64
CPU:28
总内存:63.69GiB
调试模式(客户端):false
调试模式(服务器):true
注册表:https
://index.docker.io/v1/ 实验:true

0 投票
0 回答
452 浏览

c++ - 尝试使用 dockerfile 在 nanoserver 构建中运行 vc_redist.x64 时系统找不到指定的文件

我正在尝试设置一个 nanoserver 容器,以便运行在 Visual Studio 2017 中使用 /MD 标志构建的 C++ 可执行文件。

我知道我需要为 Visual Studio 2017 安装 Microsoft Visual C++ Redistributable。

我设法创建了容器,下载了 Redistributable 并将其添加到根目录下的容器中。但是,当从 Dockerfile 构建时,我收到以下错误消息:

这是我的 Dockerfile:

我尝试从 dockerfile 中删除最后一行并在构建后在容器中运行它,但我没有得到任何输出。

也想避免使用 Windows 服务器核心,因为我们试图保持尽可能小的大小。

非常感谢任何帮助。

0 投票
0 回答
142 浏览

azure - 如何在 Windows server 2019 上使用 DSC powershell 配置和安装 nano 服务器

我有 Windows Server 2019,我想在其中使用 DSC powershell 脚本设置 Nano Server 安装和 Docker。

此要求适用于使用 Azure 自动化中的状态配置的 Azure VM。

剧本

配置 Myconfig { Import-DscResource -ModuleName DockerMsftProvider

}

我知道,我在这里遗漏了几个参数。请帮我完成这个脚本

同样,如果可能的话,我需要它来设置 Nano 服务器。

0 投票
0 回答
1102 浏览

powershell - 如何在 Nano Server Docker 容器中使用 PowerShell 连接到远程系统,特别是构建 1809?

背景

我有一个 .NET 应用程序,我想安装在 Nano Server Docker 容器中,特别是构建 1809。该应用程序基本上是一个 REST 服务器,它将接收 REST 请求,并根据 JSON 的内容,调用特定的 PowerShell cmdlet在特定的远程系统上并以 JSON 格式返回结果。

我能够创建一个安装了 PowerShell 和 .NET Core 的 Nano Server Docker 容器。但是,我最终意识到容器上没有安装 WinRM,因此无法调用远程 PowerShell cmdlet。

我的主机系统是 Windows Server 2019 Datacenter,版本 1809(OS Build 17763.379)。我正在使用启用了 Windows 容器的 Docker Desktop for Windows(版本 2.0.0.3)。

Dockerfile

这是我正在使用的 Dockerfile。我通过组合此处此处的 Dockerfile 部分来创建它。

码头工人命令

以下是我用来创建和访问 Docker 容器的 Docker 命令(注意该目录包含一个包含上述内容的单个 Dockerfile):

失败的 PowerShell 和 WinRM 命令

在其他系统上,我可以使用以下 PowerShell 代码为远程系统创建 CimSession,然后调用 PowerShell cmdlet:

但在这个容器中,我收到以下错误消息:

此外,如果我尝试以任何方式配置 WinRM,我会得到以下信息(来自 cmd):

另外,如果我查看容器上的服务,我看不到 WinRM:

问题

有没有办法安装 WinRM 并在 Nano Server Docker 容器 build 1809 上工作?如果没有,是否有一些解决方法可以使用 PowerShell 连接到远程系统以调用 PowerShell cmdlet?

也许我缺少一些特殊的 Docker 命令,或者其他一些具有此缺失功能的 Nano Server 映像?

首先十分感谢。