./Dockerfile
中的最小Dockerfile:
# syntax=docker/dockerfile:1
FROM rockylinux:9
WORKDIR /opt/deploy
构建工作正常:
export DOCKER_BUILDKIT=1
docker build --platform linux/amd64 -t minimal:test -f Dockerfile .
运行不会:
export DOCKER_BUILDKIT=1
docker run --rm --platform linux/amd64 -it minimal:test
错误:
Unable to find image 'minimal:test' locally
docker: Error response from daemon: failed to resolve reference "docker.io/library/minimal:test": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed.
See 'docker run --help'.
同时,我可以在docker image ls
的输出中清楚地看到minimal:test
,并且我可以成功地运行docker image rm minimal:test
。
更奇怪的是,如果我注解掉WORKDIR
行,它工作得很好!
我做错了什么?
我在MacOS 12.4上使用Docker Desktop for Mac:
$ docker --version
Docker version 20.10.22, build 267d2e5
编辑:我在Docker Desktop中启用了containerd
beta选项,结果发现这是问题所在。添加此选项是为了便于将来搜索此问题。
1条答案
按热度按时间lnvxswe21#
根据经验,这是Docker Desktop中实验性的“Containerd”选项中的一个错误,可能与延迟加载图像有关。禁用该选项并重新启动Docker守护进程解决了这个问题。