【问题标题】:File-not-found-Error when building/runing my very dockerfile that should start a batch-file构建/运行我应该启动批处理文件的dockerfile时出现文件未找到错误
【发布时间】:2020-11-23 13:39:09
【问题描述】:

您好,我是 docker 容器的新手,想构建和运行一个简单的容器,然后应该启动一个小批处理文件。我正在使用泊坞窗桌面。 /win 10. 一切都在同一个目录下:

C:\DockerTestGUI\Versionen\Dockerrunsbatch

这是我最后要运行的批处理文件:

这是我的 dockerfile,只有 1 行,因为我不必从 DockerHub 复制任何内容:

我是这样构建我的图像的:

docker build -t simpleimage

当我尝试运行我的图像时,我得到了这个“未找到错误”:

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 你应该先复制文件。你的构建阶段在哪里?你能分享你的 Dockerfile 吗?

标签: windows docker batch-file build


【解决方案1】:

您使用了错误的图像ubuntu:latest。它将用于执行 shell 脚本(*.sh) 而不是批处理文件。 要执行批处理文件,您需要 Windows 映像。

这是最初的 Dockerfile:

FROM mcr.microsoft.com/windows/servercore:1803

CMD C:\DockerTestGUI\Versionen\Dockerrunsbatch\TestMessage.bat && cmd

在这里,我更改了图像名称和相关版本。 我使用了标签1803,因为我的主机系统版本是Windows 10 (10.0.17134)

您可以选择您的 windows 版本,然后应用相关标签。 标签列在此链接中:https://hub.docker.com/_/microsoft-windows-servercore

【讨论】:

  • 这也不起作用。我收到消息:windowsservercore 的拉取访问被拒绝,存储库不存在或可能需要“docker login”:拒绝:请求的资源访问被拒绝
  • 参考链接:hub.docker.com/_/microsoft-windows-servercore 1. Windows 操作系统需要。检查主机系统的版本。 2. 如果你使用 Docker 桌面。选择“切换到 Windows 容器”选项。 3. 从上面链接中提供的标签列表中选择正确的标签。请谨慎选择。我从标签列表中选择了“1803”标签,因为我的机器操作系统是 Windows 10。 4. 它会像魅力一样工作。先做正确的配置。自己做,让我知道你遇到的任何障碍。
猜你喜欢
  • 1970-01-01
  • 2016-01-13
  • 2014-02-08
  • 1970-01-01
  • 1970-01-01
  • 2021-07-03
  • 1970-01-01
  • 2011-08-19
相关资源
最近更新 更多