问题标签 [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 回答
5058 浏览

powershell - Docker windows容器文件访问权限问题

Windows Server 2016 主机,通过默认的 MSFTdocker 提供程序运行 Docker EE。

Docker 版本 17.06.2-ee-5,构建 508bb92

docker-compose 版本 1.17.1,构建 6d101fb0

我有一个基于 的 Windows 容器microsoft/windowsservercore:latest,并且正在尝试为 Bamboo 服务器设置映像。在创建构建计划期间,服务器会生成密码以在 Bamboo 和 Bitbucket 之间进行通信。在正在运行的容器中,密码文件夹/文件生成失败并出现以下错误:

我已经尝试将卷C:\bamboo-home连接到我的 Windows 主机,并完全包含在容器中。两次同样的错误。

Windows 容器使用名为“containeradministrator”的管理员帐户运行;在默认图像和使用入口点时都是这种情况,如下所示。

标准图像运行:

并在自定义构建的图像上测试入口点:

据我所知,这个用户是管理员的别名,尽管有趣的是它并没有显示net user为这个名称:

所以这可能是一个问题,但无论如何,据我所知,用户拥有完整的管理员权限:

所以我尝试了以下方法:

  1. 在将文件夹权限设置为“所有人 - 完全访问”的容器中运行构建步骤

  2. 在启动时在运行的容器中手动运行脚本,执行相同的操作

  3. 运行时连接容器,手动运行powershell也一样

每次,在尝试生成密码文件之前,权限如下所示:

并且尝试生成后出现上述错误,权限更改为:

为什么默认帐户(可能是名为 containeradministrator 的管理员)在似乎表明它拥有所有权时会失去对该目录的访问权限?为什么它不能首先创建文件(或文件夹),因为在这两种情况下,“每个人”都应该拥有完全访问权限?

0 投票
1 回答
297 浏览

docker - 基于windowsservercore的docker下载问题(Appveyor, Visual Studio 2017)

windowsservercore我对docker image上的文件下载有一个小问题。我在这里列出了一个小型 docker 映像:https ://github.com/EndurantDevs/sonarqube-mysql-windows-docker

如您所见 - 有四个类似的 Docker 文件:基于 2 个版本的 Windows 容器的 SonarQube 的 2 个版本(nanoserver以及windowsservercore,通过openjdk图像)

在构建过程中,所需文件的下载nanoserver顺利进行。

但是,在windowsservercore图像上我遇到了这个问题:

因此,问题出现在从运行良好的相同服务器上下载相同文件时nanoserver

应用包括 Tls12 在内的所有已知修复都没有帮助。我认为这是 Appveyor 端主机上的问题。但是,即使我尝试过的注册表修复也无济于事。

这是要比较的构建信息:https ://ci.appveyor.com/project/dnikolayev/sonarqube-mysql-windows-docker/build/1.0.53

0 投票
1 回答
2236 浏览

docker - 在带有 windows/servercore 的 Windows 容器上以无头模式运行 Firefox

为了提供 Windows Selenium WebDriver Grid,我开始准备允许用作网格节点的 Dockerfile。最初的原因是准备一个带有可控Firefox/GeckoDriver版本的图像。出于相同目的成功准备 Chrome 映像的鼓舞,我从以下 Dockerfile 开始:

现在,一旦容器启动,WebDriver 中生成的 geckodriver 的响应(使用 TRACE 级别的日志执行)将挂起:

所以这是一个 Firefox 没有正确启动的问题,因为 GeckoDriver 能够生成它但不能与之交互。此外,直接在容器中运行 firefox.exe 会导致 firefox.exe 进程在tasklist执行后出现,但它只是一个占用 6MB RAM 的进程(不像 Chrome,它会产生数十个进程并且无头运行没有问题,对于在 Windows 10 上执行的 Firefox)。我假设有某种障碍阻止 Firefox 被打开,并且由于 Server Core 没有 GUI,它无法显示并且无法诊断。遗憾的是,我没有找到任何有关存储在磁盘上的 Firefox 日志的信息,也没有从命令行以更详细的模式运行 Firefox。我已经尝试过的事情:

  • 将 Firefox 更改为 32 位
  • 各种火狐版本
  • 安装 DirectX 的子集
  • 在没有巧克力的情况下安装 Firefox
  • 各种 Windows Server Core 版本

总而言之,即使不可能(但为什么?Chrome 可能),我想知道实际错误是什么以及失败的原因是什么。来自 Firefox 本身的更多详细信息也会很方便。

我知道最简单的方法是切换到 Linux,但长话短说,目前还不可能。

版本:

  • 泊坞窗:18.09.2,内部版本 6247962
  • 火狐:66.0.3
  • 壁虎驱动程序:0.24.0
0 投票
1 回答
863 浏览

azure-aks - 如何为 Azure Kubernetes 服务上的 Windows Server 容器指定主机节点的 Windows 版本?

我正在遵循有关如何在 Azure Kubernetes 服务上创建 Windows Server 容器的指南。关联

我提取了指南中演示的示例图像 (mcr.microsoft.com/dotnet/framework/samples:aspnetapp),对其进行了标记并将其上传到 Azure 容器注册表。将应用程序部署到 Kubernetes 后,Pod 无法从容器注册表中提取映像。我还尝试使用来自 Docker hub 的原始图像导致同样的问题。

以下是kubectl describe其中一个 pod 上的命令输出

事件部分有一个带有消息的事件

该消息对我来说似乎很清楚,因为它抱怨容器和主机之间的 Windows 版本不匹配。

我的 Kubernetes 部署文件

如何确保容器和主机之间的 windows 版本匹配?有什么方法可以指定将在主机上使用的 Windows 版本?

0 投票
0 回答
1393 浏览

docker - 在 Windows Server 容器中启用远程桌面

我正在尝试创建一个可以使用 RDP 进入其桌面环境的 Windows 容器。微软似乎在最近的 Windows Server Core Containers 中关闭了 RDP。首先,我尝试跟进本教程。我可以使用远程桌面应用程序成功登录,但在那之后没有任何反应,似乎没有桌面,或者可能还有其他问题。

我想知道是否有任何官方的 Windows Server 映像容器可以访问其桌面 GUI 或任何其他方式来添加此功能。

0 投票
2 回答
447 浏览

docker - 将参数传递给 dockerfile 无法正常工作

我在将参数值传递给 dockerfile 时遇到了一些麻烦。

在里面运行 dockerWindows Server 2016

我的 docker 版本信息是

和 powershell 打开为administrator.

我的参考是这个

但这对我不起作用。

所以这是我的dockerfile。

我也尝试了许多不同类型的回声值,例如

这是我的执行命令。

我的预期结果是打印1234

但实际结果是

为什么会发生?如何修复它?

0 投票
1 回答
499 浏览

windows - 无法在 Windows 容器上授予 IIS_IUSRS 权限

我正在构建一个由microsoft/aspnetbuilder OS 制作的图像:

,运行后出现错误RUN icacls 'C:\inetpub\wwwroot\' /grant 'IIS_IUSRS:(F)'

无效参数“'IIS_IUSRS:(F)'”
命令 'cmd /S /C icacls 'C:\inetpub\wwwroot\' /grant 'IIS_IUSRS:(F)'' 返回非零代码:87


但是在由microsoft/aspnetbuilder OS制作的基础镜像下

完全没问题,有人知道为什么吗?

0 投票
1 回答
177 浏览

docker - 如何在 Windows Server 2019 上升级 Kubernetes 工作节点?

所以我有一个包含 3 个 CentOS 7 VM(1 个主,2 个工作节点)和 2 个 Windows Server 2019 工作节点的集群。我可以按照以下步骤更新 CentOS VM 上的节点:https ://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/ 。现在,我需要更新 2019 节点上的版本,但我不知道如何正确执行。2019 VM 上的版本是 1.14.3(kubectl、kubelet 和 kubeadm),我能够毫无问题地将它们升级到 1.14.10,但是当我跳到下一个主要版本(任何 1.15.x)时,在 Windows 服务下运行的 kubelet 服务被暂停,显然节点版本仍然显示 1.14.10。升级节点的唯一方法是重新创建它并将其重新添加到现有集群吗?除了初始设置指南之外,我无法在网上找到任何东西。

谢谢!

0 投票
1 回答
107 浏览

windows - Windows Docker 添加自定义标头

我正在尝试使用将X-Forwarded-For请求标头添加到mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019Docker 基础映像中Add-WebConfigurationProperty

我的 Dockerfile 看起来像:

当我运行 docker build 时,出现以下错误

Dockerfile 在没有RUN Add-WebConfigurationProperty. 如果我在没有它的情况下构建它,RUN Add-WebConfigurationProperty我可以运行容器并执行Add-WebConfigurationProperty命令并看到它确实将字段添加到日志文件中。知道为什么它不能通过 Dockerfile 工作。

0 投票
1 回答
154 浏览

docker - 在 docker windows/servercore 中运行有人值守的安装程序

一段时间以来,我一直在尝试将应用程序迁移到云端,并将大部分服务设置在运行在 k8s 集群中的 pod 中。最后一块给我带来了麻烦,我需要使用无法静默安装的旧软件设置映像。然后我尝试在我的 dockerfile 中安装其 .net 依赖项(2005.x86、2010.x86、2012.x86、2015.x86、2015.x64)并手动传输程序的本地安装,但这也不起作用。

有什么方法可以在远程 Windows 映像中进行引导式安装,或者能够确定安装程序所做的所有文件更改以便手动进行?