标签: docker-for-windows

Docker 不会在 Windows 10 上切换到 Linux 容器

我在 Windows 10 企业版上运行 docker for windows。它在Windows容器模式下成功运行。当我右键单击 docker 图标并“切换到 Linux 容器”时,它会继续切换,一段时间后,它会抛出以下错误:

error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

at Docker.Core.Pipe.NamedPipeClient.Send(String action, Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeClient.cs:line 36
at Docker.Actions.<>c__DisplayClass25_0.b__0() in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Windows\Actions.cs:line 275
at Docker.WPF.TaskQueue.<>c__DisplayClass19_0.<.ctor>b__1() in C:\gopath\src\github.com\docker\pinata\win\src\Docker.WPF\TaskQueue.cs:line 59
Run Code Online (Sandbox Code Playgroud)

我正在使用 hyper-v 并且它已启用。这个问题总是可以重现的。我尝试过“恢复出厂默认设置”并重新启动两者,但这并不能解决我的问题。如果我在这里做错了什么,请告诉我。

docker docker-for-windows

6
推荐指数
1
解决办法
6723
查看次数

在 Docker Windows 容器中启用/安装 WSL

我想要从 Docker windowsservrecore 容器中启用并安装 Windows Subsystem for Linux (WSL) 功能。然而,由于 Docker 容器比 VM 更像是完整环境进程,而且 WSL 功能安装需要“系统重新启动”;事实证明这很麻烦。

我见过其他人找到的解决方案,用于在 Docker Windows 容器中安装通常“需要重新启动”的功能。

所以我想知道是否有人有任何想法或已经设法将 WSL 安装在 Docker Windows 容器中?

提前致谢。

docker docker-container windows-subsystem-for-linux docker-for-windows

6
推荐指数
0
解决办法
394
查看次数

是否可以在无头 Windows 容器中运行 GUI 应用程序?

这个问题与Is it possible to run GUI apps in windows cats?相似但不同。通过以下方式:我不想登录并查看 GUI。相反,我想知道是否可以从 Windows 容器内的命令行启动 winforms 或 wpf 应用程序。如果它运行的话,窗口/屏幕对 GUI 应用程序有什么影响?

也许我有一个 GUI 应用程序,当用户单击按钮时,它开始侦听端口。也许我想以自动化的方式测试这个应用程序,既使用触发 GUI 按钮单击的脚本(也在容器中运行),又使用创建并运行包含 GUI 应用程序和按钮点击器的容器的脚本。

windows containers docker docker-for-windows

6
推荐指数
0
解决办法
906
查看次数

使用 Docker for Windows 启动 SMB 容器

我有一个由多个容器(在 Windows 上运行的 Linux 容器)使用的 Docker 卷。我希望能够通过 Windows 资源管理器从 Windows 计算机访问卷,最好使用网络驱动器,例如:

services:
  smbd:
    image: dperson/samba
    ports:
      - "445:445/tcp"
    volumes:
      - data:/public

...
volumes:
  data:
    external:
      name: mydrive
Run Code Online (Sandbox Code Playgroud)

在 Windows 中,我可以将驱动器 Z: 连接到\\docker.ip.address\public并能够查看其内容,例如,如果mydrive上面的卷包含子文件夹mystuff,我会在 Windows 上看到以下内容:

- Z:\mystuff
Run Code Online (Sandbox Code Playgroud)

问题是,445 已经在本地主机上使用(当然对于 SMB),并且不能使用其他端口,因为 SMB 是无情的。如果你使用虚拟机就没有问题,因为虚拟机有自己的适配器和IP,所以445又免费了。

一种可能性可能是通过不同的适配器连接 Docker(而不是尝试使用localhost:445),但我不知道如何在 Windows 上做到这一点。

需要 SMB(而不是直接通过资源管理器访问托管卷)的原因是为了可以在 Docker 中轻松切换卷。对于我来说,仍然适用于 Docker 卷的替代方案也可以。

smb docker docker-for-windows

6
推荐指数
0
解决办法
1269
查看次数

Docker 卷映射 + windows = 慢得令人难以置信?

我目前正在尝试将数据从在 docker 容器中运行的 postgres 复制到我的 Windows 主机。为此,我实现了一个 java 应用程序(也在 docker 容器内),它使用 postgres-jdbc 驱动程序及其 CopyManager 将特定数据复制到映射卷中的主机。

问题:当我将数据复制到映射的 Windows 目录时,速度变得非常慢。(写入1GB数据大约需要40分钟——没有卷映射只需1分钟)

Docker 组合:

  exportservice:
    build: ./services/exportservice
    volumes:
      - samplePath:/export_data
Run Code Online (Sandbox Code Playgroud)

我已经读到这是一个已知问题,但我还没有找到合适的解决方案。我的服务必须在基于Windows的生产环境中运行。那么有什么方法可以解决这个问题呢?WSL2?

期待您的建议!

java postgresql docker docker-compose docker-for-windows

6
推荐指数
2
解决办法
7083
查看次数

Docker run -v:无法安装绑定卷:“卷规范无效”

我对 Docker 还很陌生。我在Windows 10 Enterprise上运行,并尝试将在 Windows 上运行的现有应用程序容器化(因此它是Windows 容器)。我不知道这是否重要,但容器相当大(8 GB)。

我需要与应用程序启动时将使用的容器共享一个配置文件(位于主机上)。我认为绑定卷是最简单的。

问题:在运行图像时,我得到docker: Error response from daemon: invalid volume specification: '<source path>:<target path>'

容器是使用以下命令构建的:
docker build -t my_image .

这是 Dockerfile:

FROM mcr.microsoft.com/dotnet/framework/runtime:4.8
WORKDIR /app
COPY . .
ENTRYPOINT .\application.exe ..\Resources
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的
docker run -it -v c:/Users/my_user:/app my_image

  • 我尝试了 C:/、C:\、C:\\、/c/、//c/、\c\、\\c\ 等的每种组合。
  • 我尝试了 /app、//app、\app、\app、C:\app 等的多种组合。
  • 我也尝试过在末尾附加或不附加 :rw
  • 我尝试过 ```--mount``` 语法,它始终输出: docker: 来自守护进程的错误响应:类型“bind”的安装配置无效:无效的安装路径:'/app'。(这里也尝试了 /app 的一系列变体)

  • 我已经尝试了所有可能的组合(除了正确的组合)。请帮忙!

    docker docker-volume docker-for-windows docker-desktop

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

    如何使 Dockerfile COPY 适用于 Windows 绝对路径?

    如何使COPY命令适用于 Windows 上的绝对路径?我尝试使用 git-bash、cmd 和 powershell 控制台进行构建docker build -t custom-maven-image .

    # Dockerfile
    FROM maven:3-openjdk-11-slim
    # these are three versions of copy command I tried
    COPY C:/Users/myuser/.m2 /root/.m2
    COPY /C/Users/myuser/.m2 /root/.m2
    COPY /c/Users/myuser/.m2 /root/.m2
    
    Run Code Online (Sandbox Code Playgroud)

    我得到的是一个错误:

    ...
    #5 ERROR: "/C/Users/myuser/.m2" not found: not found
    
    Run Code Online (Sandbox Code Playgroud)

    更新:

    谢谢@Jeremy 的错误参考,现在我看到文档清楚地说:

    COPY 遵循以下规则:

    该路径必须位于构建的上下文内;你不能 COPY ../something /something,因为 docker 构建的第一步是将上下文目录(和子目录)发送到 docker 守护进程。

    dockerfile docker-for-windows

    6
    推荐指数
    1
    解决办法
    7809
    查看次数

    适用于Windows的Docker容器 - 桌面应用程序

    如果我创建一个带有Windows图像的容器,是否可以使用远程连接实际看到桌面,例如,玩扫雷?

    我的用例是这样的:

    我有数百名用户.每个用户都需要创建我们的基础架构,其中包含大约6台链接在一起的计 创建后,用户将使用远程桌面连接在每个桌面上打开一些桌面gui应用程序.

    windows docker docker-for-windows

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

    什么是在Windows中运行jenkins容器的docker命令

    docker run ...运行jenkins容器的正确命令是什么.

    1. 什么是必需的端口?
    2. 如何将卷D:\ jenkins文件夹挂载到jenkins作业配置路径?

    我在Windows 10上使用linux容器.

    jenkins docker linux-containers docker-for-windows

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

    如何在macOS Sierra上运行虚拟化Win10 + VS2017 + Docker(来宾或主机)?

    我在运行macOS Sierra的Macbook Pro上安装了Windows 10和Visual Studio 2017企业版以及Docker for Windows作为Parallels虚拟机,并启用了嵌套虚拟化.

    启动Docker for Windows以运行Linux容器时,Windows 10虚拟机上的MobyLinuxVM Hyper-V映像似乎崩溃,并显示以下消息:

    __CODE__

    当我切换到运行Windows容器时,Hyper-V映像不会崩溃.

    现在,我一直在阅读Docker文档,Parallels文档和大量论坛帖子.看起来Docker不支持在嵌套虚拟化中运行Docker for Windows,而且有很多Parallels用户曾经使用过它,但它在Parallels的Version {X}中停止工作.

    有没有其他开发人员使用macOS + Windows 10 + VisualStudio2017 + Docker设置成功运行?如果是这样,你是如何实现这一目标的?

    有人知道虚拟机上的Visual Studio 2017是否可以在主机操作系统上使用Docker for Mac?如果是这样,你是如何配置的?

    或者是否有更好的替代方法来运行虚拟化Windows,并能够将Docker与Visual Studio 2017结合使用?如果是这样,你能描述一下这个设置吗?

    parallels docker docker-for-windows docker-for-mac visual-studio-2017 docker-desktop

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