问题标签 [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 投票
2 回答
2703 浏览

c# - 带有 docker microsoft/iis 的卷

我试图将一个卷附加到 docker 容器,但我尝试过的方法都没有奏效。我正在使用 Azure Windows 2016 vm 这里的 docker 信息:

因此,在我的 docker 文件中,我将我的 IIS 网站复制到 inetpub/root 中,我的目标是将容器上的 /inetpub 挂载到本地计算机,以便可以在运行时对脚本和 web.config 进行更改。

起初我在成功构建的 dockerfile 中尝试了 VOLUME /inetpub,但是当我运行容器时,它给了我以下错误。

CreateContainer 期间遇到错误:Windows 系统调用失败:目录不为空

但是 docker 文档中没有提到需要为空的卷。

然后我尝试在运行时附加卷,例如 docker run -p 80:80 -v C:/build/inetpub:C:/inetpub web/iis 。这给了我与上面相同的错误。但是当我尝试
docker run -p 80:80 -v C:/build/inetpub:C:/randomtest web/iis 时。它可以工作,但我无法修改容器停止的其他文件。

我尝试的最后一件事是使用 docker-compose,在我的服务中我有卷: - ./inetpub:/inetpub 给出以下错误

无法为服务 wfgen 创建容器:无效的卷规格“/inetpub”:无效的卷规格

我尝试了 - ./inetpub:/inetpub 的许多变体,但它们总是给我同样的错误。

感谢您的帮助,我已经坚持了好几天没有任何结果。

这是我的码头文件

0 投票
5 回答
10450 浏览

docker - 如何使用 dockerfile 将参数传递给 .NET 核心项目

我有一个.NET Core 项目(使用 Visual Studio 并通过Visual Studio Tools for Docker添加 docker 文件)。

我的DockerFile样子是这样的:

我的问题是,如何将参数传递到项目中?

在此处输入图像描述

0 投票
1 回答
1165 浏览

azure - Windows Nano Server 上的 Docker:磁盘空间不足

我在 Windows Server 2016 Nano Server 上成功启动了 docker。我已经提取了图像 microsoft/nanoserver 和 microsoft/sample-dotnet

但是,当我尝试提取其他图像时,例如 microsoft/dotnet-framework,我收到以下消息:

“docker : write C:\Windows\TEMP\GetImageBlob193586394: 磁盘空间不足。”

我在 Azure 上使用带有 512 GB SSD 的 Nano Server。我刚刚部署了操作系统。

有谁知道发生了什么?

谢谢!

0 投票
2 回答
12196 浏览

docker - 在 Windows 10 中使用 Docker for Windows 将容器端口公开给主机

我正在阅读docker API并尝试创建一个简单的容器并公开 1 个端口。

在我的示例中,我有一个应用程序侦听容器内的TCP端口9595,并且我想从外部世界(即容器的主机)上的端口访问它9090

在创建我拥有的容器"ExposedPorts": { "9595/tcp: {}" }"PortBindings": { "9595/tcp": [{ "HostPort": "9090" }] }.

所以,如果我从主机访问http://container_internal_ip:9595它就可以了!但是,当我http://localhost:9090使用此端口映射功能访问时,这是我所期望的,它不起作用......

跑步时docker port containerID我有9595/tcp -> 0.0.0.0:9090,这应该意味着,when connecting to any IP on the host, at port 9090, forward to the container in port 9595.

那么,这里有什么问题?为什么我无法连接到 9090?

我感谢任何澄清。

0 投票
1 回答
3656 浏览

docker - 如何在“Docker for Windows”中启用 docker 远程 API

我的 Windows 10 机器上安装了Docker Desktop for Windows 1.12.1-stable(build: 7135)。我想通过 port使用远程 API4243访问 docker 。我猜这个端口默认没有启用。你知道如何打开它吗?

0 投票
1 回答
1993 浏览

docker - 用于 nanoserver / windowsservercore 的 Docker 拉取失败并显示无法注册层访问的消息在提取结束时被完全拒绝

我正在使用下面的链接来拉取 docker 镜像

https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_10

第 3 步拉取 nanoserver 映像发生错误。windowservercore 图像拉取也会发生这种情况。错误显示为  

正是在提取结束时,它因访问被拒绝而失败。以下来自事件查看器的错误

尝试 v2 注册表时出错:无法注册层:重命名 C:\ProgramData\docker\image\windowsfilter\layerdb\tmp\write-set-552404215 C:\ProgramData\docker\image\windowsfilter\layerdb\sha256\342d4e407550c52261edd20cd901b5ce438f0b1e940336de397821061236 访问是否认。

尝试在错误后拉下一个端点:无法注册层:重命名 C:\ProgramData\docker\image\windowsfilter\layerdb\tmp\write-set-552404215 C:\ProgramData\docker\image\windowsfilter\layerdb\sha256\342d4e407550c52261edd20cd901b5ce438f0b1e940336de397821061 : 访问被拒绝。

更新 1:问题发生在一些 microsoft/* 图像上,而不是所有图像上。

0 投票
11 回答
41547 浏览

docker - 为 Windows 运行 Docker,暴露端口时出错

我知道有很多关于在 Windows 上运行 Docker 的问题,但是这个问题是关于在 Windows 上运行全新的 Docker for Windows。
就我而言,我使用的是 Windows 10 Pro 64 位。根据该站点,应该支持此版本。
我一直在关注我在这里找到的教程: https
://prakhar.me/docker-curriculum/ 我当然也尝试遵循官方指南:https ://docs.docker.com/docker-for-windows/

在这两个教程中,当尝试使用-P参数分配端口或尝试指定端口时,我都会收到相同的错误消息-p 8080:5000

在官方指南中,我运行docker run -d -p 80:80 --name webserver nginx并得到:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe:来自守护进程的错误响应:驱动程序在端点网络服务器上编程外部连接失败(f9946544e4c6ad2dd9cb8cbccd251e4d48254e86562bd8e6da75c3bd42c7e45a):启动用户级代理时出错:mkdir /port/tcp:0.0.0.0: 80:tcp:172.17.0.2:80:输入/输出错误。

按照非官方指南,我运行docker run -p 8888:5000 prakhar1989/catnip并得到基本相同的错误:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe:来自守护进程的错误响应:驱动程序在端点focused_swartz(48a0c005779c6e89bf525ead2ecff44a7f092495cd22ef7d19973002963cb232)上编程外部连接失败:启动用户级代理时出错:mkdir /port/tcp:0.0.0.0: 8888:tcp:172.17.0.2:5000:输入/输出错误。

如果我不尝试分配容器将运行的端口,但我不知道如何访问它。

我正在运行的 docker 版本:

  • Docker 版本 1.12.3,构建 6b644ec`
  • docker-compose 版本 1.8.1,构建 004ddae`
  • docker-machine.exe 版本 0.8.2,构建 e18a919`

任何帮助将不胜感激。谢谢你。

0 投票
1 回答
61 浏览

docker - 构建一个可以执行 npm 任务的 Web 应用程序

在发布任何配置之前,我会尝试解释我想要归档的内容并想提一下,我是 docker 新手。

为了使路径对话更容易,假设我们谈论的是“Docker me up!”项目。它位于X:\docker-projects\docker-me-up\.

目标:

我想运行多个具有不同内容的 nginx 项目,每个项目代表一个专用的构建。在开发 [ docker-compose up -d] 期间,容器应立即更新;效果很好。

棘手的部分是,我想将我的主机中的 npm [ http://gruntjs.com]直接外包到容器/映像中,因此只要安装 docker,我就可以在任何地方进行调试和开发。因此,npm 必须安装在“服务”中,并且需要初始化 watcher。

每个项目都封装在 docker 主机/build 上自己的文件夹中,除了它自己之外,不应该有任何其他知识。

我的解决方案:

我尝试了许多不同的版本,包括“volumes_from”等,但我决定向您展示这个,因为它已经缩小但仍然完整。

Docker-compose.yml

Dockerfile

问题:

如您所见,“数据”服务包含npm并且应该能够执行 npm 命令。但是,如果我运行docker-compose up -d一切正常。我可以编辑页面内容,使用它等等。但是数据容器没有运行,因此无法执行任何 npm 命令。除非我有很大的逻辑错误;这是很有可能的;-)

环境:

  • Windows 10 专业版 [更新日期]
  • 使用了 docker 的共享驱动器
  • Docker 版本 1.12.3,构建 6b644ec
  • docker-machine 版本 0.8.2,构建 e18a919
  • docker-compose 版本 1.8.1,构建 004ddae
0 投票
1 回答
1127 浏览

docker - 无法在 Docker 容器内调用 chown (Docker for Windows)

我正在尝试使用官方的 Mongo dockerfile来启动数据库,我正在使用-v命令将本地目录映射到/data容器内部。

作为 的一部分Dockerfile,它尝试将此目录 chown 给用户 mongodb:

但是,使用以下命令失败:

我在这里做错了什么?我找不到任何有关此的文档 - 当然容器应该对映射目录具有完全权限,因为它是在 docker run 命令中显式传递的:

0 投票
1 回答
13401 浏览

shell - 如何从 Windows shell 访问 docker VM (MobyLinux) 文件系统?

是否可以登录主机 VM 的 shell,类似于我们如何轻松进入正在运行的容器 bash?

docker exec -it bash

我不小心弄坏了一个容器的关键文件,导致它无法启动。不幸的是,该容器将其数据存储在其中。结果是每当我尝试运行它时,它都无法启动。我看到的唯一解决方案是导航到托管 docker daemon 的文件。但是,我在 Windows 上运行 docker VM,我无法访问 VM (MobyLinuxVM) 中的文件。

我正在使用 Docker for Windows,版本 1.12.3-beta30.1 (8711)