标签: docker-for-windows

适用于 Windows 的 Docker 的 Docker 日志(驱动程序 json 文件)位置

我想找到容器的日志位置。

  • 我使用适用于 Windows 的 Docker Desktop
  • 我知道在linux上他们在/var/lib/docker/containers/

但它在哪里呢。它是否隐藏在无法访问的虚拟机中的某个位置?

docker docker-for-windows docker-desktop

5
推荐指数
1
解决办法
8179
查看次数

Windows 10 上托管的 Windows 容器丢失其 DNS

我面临着这种情况,我的基于 Windows 的容器失去了解析 DNS 的能力。

这就是发生的事情

启动容器来测试dns解析 docker run -it microsoft/windowsservercore powershell

从容器内部

Test-NetConnection google.com -Port 443

失败与

PS C:> Test-NetConnection google.com -端口 443 警告:google.com 的名称解析失败 -- 状态:这通常是主机名解析期间的临时错误,意味着本地服务器未收到权威服务器的响应计算机名称:google.com 远程地址:接口别名:源地址:PingSucceeded:False

但应该是这样的

PS C:\Users\asarafian> Test-NetConnection google.com -端口 443 计算机名:google.com 远程地址:216.58.204.14 远程端口:443 接口别名:vEthernet(外部虚拟交换机) 源地址:10.98.5.139 TcpTestSucceeded:True

我总是休眠工作站 (Windows 10),并在其上运行 Hyper-V 实例和 Docker。工作站是 Windows 10,从问题发生时我可以看出,它使用 Windows 10 主机的 IP 作为 DNS。

从容器内

PS C:\> ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : c7c016e13be8 …
Run Code Online (Sandbox Code Playgroud)

docker docker-for-windows

5
推荐指数
1
解决办法
4416
查看次数

在 Windows Docker 容器中转换 Web.Config

我有一个使用 Octopus 部署到服务器的 .NET 应用程序。在此过程中,Octopus 会更新 Web.Config 中的一些值(API 密钥、数据库连接字符串等)。我正在将此应用程序移动到同一服务器上的容器中,并且在 Octopus 靠近它之前就已经构建了图像。

如何根据docker run触发命令的环境更新Web.Config?

我找到了这篇博客文章,它似乎需要一个配置转换文件。

我还可以将所有内容作为环境变量传递到容器中,但随后我必须更改应用程序访问它们的方式,我不想这样做,因为还有很多其他应用程序需要完成。

octopus-deploy docker docker-for-windows

5
推荐指数
0
解决办法
1580
查看次数

如何创建大于20GB的Windows docker镜像?

几天来我一直在尝试构建一个大型 Windows docker 映像,但我无法在任何地方找到解决此问题的答案。

我并不是想构建生产容器解决方案。我只是想创建我的服务的原型,但在 Windows 容器中运行。问题是我的服务现在依赖于大约 40GB 的数据,并且该数据是从磁盘读取的。显然,这不是一个很好的方法,在我们可以在生产环境中的容器中托管服务之前,必须对其进行重构。

我只是想要一个快速而肮脏的解决方案,使用存储在容器磁盘上的所有数据构建图像,这样我就可以了解有关服务如何在容器内运行的更多信息。

我的图像结构最终看起来像这样:

微软/windowsservercore -> 我的/data_image -> 我的/binary_image

数据.docker文件:

FROM microsoft/windowsservercore
WORKDIR /data/
COPY data .
Run Code Online (Sandbox Code Playgroud)

构建命令:

docker build --compress -t mine/data_image -f data.dockerfile .
Run Code Online (Sandbox Code Playgroud)

一段时间后,构建失败并显示以下消息:无法复制文件:无法复制目录:写入 \?\Volume{8cf8bb9b-c1dd-46a3-b353-3c2198754bf8}\data: 磁盘上没有足够的空间。

我知道这与 windowsfilter 磁盘驱动程序有关,但我无法在网上找到有关此驱动程序的文档。就好像它不存在一样。

欢迎任何与此问题相关的见解!

docker docker-build docker-for-windows

5
推荐指数
1
解决办法
1952
查看次数

Windows 10 上守护进程的 Docker Mount Project 错误响应

我是 Docker 的新手,我想将我的项目安装在容器中以在虚拟主机上运行它。首先,我安装了适用于 Windows 10 的 Docker Toolbox。我使用 Docker QuickStart Terminal 作为我的 CLI 来使用。我尝试提取一个将用于我的项目的图像,并且成功了。

不幸的是,当我尝试安装我的项目时,我收到此错误。

C:\Program Files\Docker Toolbox\docker.exe:来自守护进程的错误响应:无效模式:/var/www/app/。请参阅“C:\Program Files\Docker Toolbox\docker.exe run --help”。

这是将项目安装到该特定映像上以创建我将在其上运行的容器的命令。

docker run -d --name=cbpass_container -v C:\Users\me\Documents\cbpass\server:/var/www/app/ -P -p 5432:5432 -t -i
image/someimagename:dev
Run Code Online (Sandbox Code Playgroud)

我的命令有问题吗?如果有人可以提供帮助,请感激。提前致谢。

virtualbox docker windows-10 docker-for-windows

5
推荐指数
1
解决办法
3192
查看次数

无法启动服务器:在 unix 套接字上绑定:不允许操作

环境\xef\xbc\x9a\ndocker\xef\xbc\x9aDocker版本17.12.0-ce,构建c97c6d6\nwindows\xef\xbc\x9awindows 10\ndocker-images\xef\xbc\x9amysql/mysql-server最新

\n\n

我使用此命令成功创建了一个容器\xef\xbc\x8c,但几秒钟后自动停止\xef\xbc\x9a

\n\n
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD="root" -e MYSQL_USER="sa" -e MYSQL_PASSWORD="123456" -v "/C/mysql/Config/my.cnf":/etc/my.cnf -v "/C/mysql/Data":/var/lib/mysql --name server mysql/mysql-server\n
Run Code Online (Sandbox Code Playgroud)\n\n

码头工人日志服务器:

\n\n
Starting MySQL 5.7.21-1.1.3\n2018-02-11T12:53:22.120561Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).\n2018-02-11T12:53:22.125276Z 0 [Note] mysqld (mysqld 5.7.21) starting as process 1 ...\n2018-02-11T12:53:22.139968Z 0 [Note] InnoDB: PUNCH HOLE support available\n2018-02-11T12:53:22.140147Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins\n2018-02-11T12:53:22.140221Z 0 [Note] InnoDB: Uses event …
Run Code Online (Sandbox Code Playgroud)

mysql linux docker docker-for-windows

5
推荐指数
1
解决办法
8473
查看次数

来自 docker-on-windows 的 tar utime 不起作用

我正在尝试从 docker (特别是 yocto)进行一些构建,并且我希望能够运行它并让输出位于 Windows 文件系统中。但是,无论我做什么,utime都无法在 docker 容器中工作。

(请注意,如果我将输出目录更改为 docker 容器内,而不是安装到本地 Windows 文件系统的两个 docker 卷,则一切都很好)

具体来说,来自tar(摘录):( Cannot utime: Operation not permitted不是添加-m可以解决这个问题,但我无法控制调用 tar 的所有位置)

我读到的有关此错误的所有内容都指向文件权限问题,但我尝试以管理员身份从 PowerShell 运行 docker,但它无法解决问题。

这只是 Windows 文件系统 (NTFS) 的缺陷吗?还是有办法配置 docker 卷以获得设置 utime 所需的权限。

tar docker docker-for-windows

5
推荐指数
0
解决办法
570
查看次数

使用 power shell 运行交互式容器

我正在尝试在 Windows(主机和来宾)中设置自动构建容器。现在我在容器内执行简单的 powershell 时遇到问题。我做了以下事情:

创建了这个 DockerFile:

# escape=`

FROM microsoft/windowsservercore
SHELL ["cmd", "/S", "/C"]
CMD ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]
Run Code Online (Sandbox Code Playgroud)

执行此构建命令:

docker build -t test:latest .
Run Code Online (Sandbox Code Playgroud)

使用以下命令启动 docker:

docker run test
Run Code Online (Sandbox Code Playgroud)

PowerShell 打印此内容并且容器退出:

PS C:\>

D:\repo\docker\Teste
Run Code Online (Sandbox Code Playgroud)

使用此命令再次尝试:

docker start d05ee -ai
Run Code Online (Sandbox Code Playgroud)

PowerShell 打印相同的输出:

PS C:\>

D:\repo\docker\Teste
Run Code Online (Sandbox Code Playgroud)

我希望首先以交互方式使用容器来验证我将在其上安装的工具,但我无法做到这一点。我现在不知道哪个错误阻止了我这样做,这就是我的问题。

Obs1:具有相同参数的 Windows cmd 中的 powershell 工作正常。

Obs2:我的 DockerFile 基于本教程中的 DockerFile。

Obs3:运行它效果很好:

docker run -it microsoft/windowsservercore powershell -NoLogo -ExecutionPolicy Bypass
Run Code Online (Sandbox Code Playgroud)

因此我认为问题出在图像生成上。

powershell docker dockerfile docker-for-windows

5
推荐指数
1
解决办法
9864
查看次数

在 docker 容器上运行 powershell 或 cmd

我想检查我的 docker 容器的内容。我想在容器内运行powershell或命令提示符,以便可以列出目录。

此容器映像使用 ASP.net 4.6.1框架托管ASP.NET Web API应用程序。

在此输入图像描述

我运行了以下命令:

  1. docker container ls - to list conatiners
  2. docker exec -i -t a1da40af6b3c powershell

但什么也没发生(如图所示)。我错过了什么吗?

asp.net-web-api docker docker-for-windows docker-exec docker-desktop

5
推荐指数
1
解决办法
1万
查看次数

拨号 tcp 查找:docker windows 桌面上没有此类主机问题

我已经在我的办公室 Windows 10 Pro 机器上安装了 docker。我在尝试从注册表中提取数据时遇到拨号 tcp 查找问题。

来自守护进程的错误响应:获取https://registry-1.docker.io/v2/:拨打 tcp:在 192.168.65.1:53 上查找registry-1.docker.io:没有这样的主机

我从网上尝试了很多可能的解决方案。但我无法弄清楚这个问题。有人可以帮我解决这个问题吗?

谢谢。

windows docker docker-for-windows docker-desktop

5
推荐指数
1
解决办法
2万
查看次数