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

docker - Docker - Windows 容器在脚本后退出

我已经制作了一些容器(它们在入口点是脚本文件的 Unix 环境中运行。这些脚本文件通常管理一些配置,然后使用 exec "$@" 继续执行 CMD。在创建/测试这样的图像我通常返回命令提示符,因此我可以手动断言配置。这很好。但是,今天我制作了一个类似的图像,但基于 windows 容器(microsoft/nanoserver),在这里我遇到了一些问题。

1)我制作了一个powershell脚本来进行配置,但在powershell中我不能使用exec“$@”将执行中继到CMD。Windows 容器中的等价物是什么?

2) 如果我创建一个基于 microsoft/nanoserver 的图像并复制一些文件,您将保持交互模式(当然,如果您使用 -it 参数运行容器)。但是一旦我将 ENTRYPOINT 指向一个 powershell 脚本,容器将在运行脚本后立即终止,即使我在运行命令中附加了一个 cmd。

所以基本上我的问题是:执行脚本后如何让它进入命令提示符?(带有 Windows 容器)。

0 投票
2 回答
1802 浏览

python - Windows 容器中的 opencv 导入失败(在 Windows Server 2016 上)

我运行以下容器来测试我在 Windows Server 2016 上的 opencv-python 环境。

docker run -i --rm python:2.7-windowsservercore

python:2.7-windowsservercore图片为官方python图片,基于microsoft/windowsservercore

在交互式控制台中,我通过以下方式安装了 opencv-python:

pip install opencv-python

完成后,我通过以下方式测试 opencv-python 包:

python -c "import cv2"

但我收到以下错误:

Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\Python\lib\site-packages\cv2\__init__.py", line 9, in <module> from .cv2 import * ImportError: DLL load failed: The specified module could not be found.

然后我在主机上安装了python-2.7.13(不在容器内),输入相同的pip安装命令,python -c "import cv2"再次测试,它不会报告任何错误。我想知道容器中是否缺少一些DLL文件?我应该在容器中安装什么软件包或软件来修复此错误?

0 投票
2 回答
596 浏览

docker - 由 Docker for Windows windows 容器在本地托管的网站无法通过 localhost 访问

我正在尝试为 Windows 容器设置 Docker,以使用 lite-server 和 Sphinx 构建和托管一个简单的静态网站。我首先运行容器。

然后启动 lite-server。

该网站可从容器的 IP 地址(例如http://172.26.141.28:8080)获得,因此我知道 lite-server 正在提供内容,但我无法使用http://localhost:8080.

如何通过 localhost:8080 公开网站?

我的 Dockerfile 如下

lite-server 启动

软件:

  • Docker 版本 17.06.2-ce,构建 cec0b72
  • Windows 10(主机)
  • Windowsservercore(容器)
0 投票
0 回答
381 浏览

docker - Docker Windows 容器创建未知的 l2bridge 网络

当 Docker 服务在我的 Windows Server 2016 VM 上启动时,它会自行创建一些 l2bridge 网络。我需要了解它为什么这样做,以及如何阻止它这样做。

以下是 PowerShell 中的示例:

我正在运行 Docker 版本 17.03.1-ee-3,构建 3fcee33。

更新:这是 docker network inspect 的输出:

0 投票
1 回答
1055 浏览

asp.net-core-2.0 - .NET Core 容器在运行后退出

我有一个简单的 .NET Core API,它在端口 80 返回一个简单的 hello world 字符串,我已经将它构建到一个可以工作的 docker 容器中。通过visual studio构建它后,我可以在本地以分离模式运行它,但是在我将它上传到天蓝色容器注册表并尝试从天蓝色容器注册表中拉出容器后,它将不再以分离模式运行并且它退出正确在运行命令之后。

注意:在我从注册表中提取图像之前,我删除了图像的原始版本。

0 投票
0 回答
233 浏览

windows-container - Docker-Compose - ASP.NET 应用程序无法解析 DNS

我正在尝试使用 docker compose 在 Windows 容器中运行带有 SQL Server 的 ASP.NET 应用程序。我能够从 asp.net 容器 ping SQL 容器 IP,但无法通过别名连接。如果我做错了什么,请告诉我。

我的撰写文件:

ASP.NET web.config 文件具有连接字符串:

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 投票
0 回答
1019 浏览

docker-compose - Docker使用windows容器中的docker文件编写运行java和tomcat

Secnario:尝试使用带有 dockerfile 的 docker compose 文件运行 JAVA 和 Tomcat

第 1 步:创建 Docker 撰写文件

版本:'3' 服务:tomcat:container_name:Tomcat_Java 构建:dockerfile:端口:-“8080:8000” https://imgur.com/a/7ohLU

第 2 步:为 java + tomcat 服务创建一个 dockerfile #SPECIFY THE CONTAINER IMAGE FROM microsoft/windowsservercore

将 Apache TOMCAT 安装文件复制到容器中

添加 ./birdoncloud/setup c:/source

SHELL ["powershell", "-Command", "c:/source/jre.cmd;"]

安装 JAVA JDK

SHELL ["powershell", "-Command", "c:/source/jdk.cmd;"]

将 TOMCAT 文件复制到 C 盘

SHELL ["powershell", "-Command", "复制项目 c:/source/tomcat -Destination c:/tomcat -Recurse;"]

为 JRE 和 JDK 文件夹设置环境路径变量

SHELL ["powershell", "-Command", "c:/source/Environmentvariable.ps1;"]

安装 Tomcat 服务

SHELL ["powershell", "-Command", "c:/source/tomcatservice.bat;"]

安装 Elasticsearch 服务

SHELL ["powershell", "-Command", "sc.exe config tomcat9 obj=LocalSystem start=auto;"] https://imgur.com/cjsvnQZ

第三步:运行 Docker-compose up

https://imgur.com/a/l7LUh

请您尽快回复

0 投票
1 回答
1516 浏览

docker - 从 Docker 容器按名称启用 ping

我无法从我的 docker 容器中按名称(ping google.com)ping,但只能通过 ip(ping 8.8.8.8)。从 cmd 我可以按名称和 ip ping,所以我认为是我的 docker 上的一些网络设置。

我对网络的了解不多,所以如果有人知道如何允许按名称进行 ping,我将不胜感激。

问候,斯特凡

0 投票
1 回答
218 浏览

docker - Kubernetes - Azure 容器服务上的 Windows 容器与 azure 文件持久卷挂载有关

我已经使用 Kubernetes 在 Azure 容器服务中部署了一个 Docker 容器。

我的服务中定义了 3 个容器,其中一个容器需要 Persistent Volume,因此我已按照所有说明使用 azure 文件作为持久卷挂载,但它不起作用。

相同的卷在 linux 集群中有效,但对于 windows 集群,我看到该文件夹​​已安装在 windows 容器中,但我没有看到文件共享中预加载的任何文件。

任何帮助或建议将不胜感激。

谢谢,

约翰