【问题标题】:`Failed to solve with frontend dockerfile.v0...` how to tackle?`使用前端 dockerfile.v0 解决失败...`如何解决?
【发布时间】:2021-07-23 13:35:00
【问题描述】:

我有以下Dockerfile

# syntax=docker/dockerfile:1
FROM windows
CMD echo Hello World!

我转到它所在的文件夹并运行命令:

docker build -t myapp .

这是我得到的输出:

#1 [internal] load build definition from Dockerfile
#1 sha256:a1d3c4a6e12f4cddf4afffc562b1433934c473851b755b2abc3f2fde935a1a92
#1 transferring dockerfile: 31B done
#1 DONE 0.0s

#2 [internal] load .dockerignore
#2 sha256:fb211a3db6387cb686b1196a6ecf918d5e247355af1defb5650b7e56a616141b
#2 transferring context: 2B done
#2 DONE 0.0s

#3 [internal] load metadata for docker.io/library/windows:latest
#3 sha256:d7ef60db0c57c36d3b2205b072a719bb2fde4c4f6da14ba36cfb712dae5b2314
#3 ...

#4 [auth] library/windows:pull token for registry-1.docker.io
#4 sha256:f2ddcdfd41cd000ab0347326f1abf8fae77a85d55a3cccd4448d5b972ac3e584
#4 DONE 0.0s

#3 [internal] load metadata for docker.io/library/windows:latest
#3 sha256:d7ef62dd0c57c36a3b2205b072b719bb2fde4b7f6ea31ba36cfb723dae5b2314
#3 ERROR: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
------
 > [internal] load metadata for docker.io/library/windows:latest:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

我对 Docker 很陌生,所以我不明白是什么导致了这个错误。我不知道如何检查我是否登录了 Dockedr Hub,也不知道如何检查名为 windows 的基础镜像是否存在。

This 的问题根本没有帮助。

1 我的文件名为Dockerfile

2 我不知道buildkit 是什么,也不知道该放在哪里:

export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0

3 我刚刚安装了 Docker。我尝试了this 示例应用程序教程,它对我来说效果很好。

4 正如您在我的Dockerfile 中看到的那样,我不想复制任何东西。

另外,我收到以下错误:

$ docker pull mcr.microsoft.com/windows
Using default tag: latest
Error response from daemon: manifest 
for mcr.microsoft.com/windows:latest 
not found: manifest unknown: manifest tagged by "latest" is not found

我连servercore/insider都拉不动了:

$ docker pull mcr.microsoft.com/windows/servercore/insider
Using default tag: latest
Error response from daemon: manifest for mcr.microsoft.com/windows/servercore/insider:latest not found: manifest unknown: manifest tagged by "latest" is not found

即使我的本地 Docker 配置为使用 Windows 容器:

感觉有点毁灭性,我不知道为什么它不起作用以及如何解决它。

【问题讨论】:

标签: windows docker


【解决方案1】:
FROM windows

不是 Docker Hub 上的有效基础映像。您可以在此处查看拉取尝试:

#3 [internal] load metadata for docker.io/library/windows:latest
...
#3 ERROR: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

有关 Windows 映像的列表,我会查看 mcr.microsoft.com,Windows 已在此处记录了它们的基本映像:

https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/container-base-images

例如对于其中一张 Go 图像,它使用 FROM mcr.microsoft.com/windows/servercore:1809

【讨论】:

  • 我需要一个 Windows 操作系统,而不是服务器核心。我试过FROM windows/insider,但结果是一样的。似乎现在几乎所有的 Microsoft 映像都已损坏。
  • @manymore 你似乎一直在尝试从 Hub 而不是 MCR 中提取。
  • 要从mcr 中提取,我应该只附加mcr 前缀,对吧?
猜你喜欢
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 2021-02-28
  • 1970-01-01
  • 2021-09-08
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
相关资源
最近更新 更多