如果在未找到链接容器的情况下运行映像,我可能会收到不正确的行为和错误消息:
# this works:
> docker run --rm -d --name natsserver nats
> docker run --rm -it --name hello-world --link natsserver hello-world
# now stop natsserver again...
> docker stop natsserver
当我使用相同的命令再次运行 hello-world 时,我不明白错误处理的第一部分 - 为什么 docker 尝试拉动?
> docker run --rm -it --name hello-world --link natsserver hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
Digest: sha256:b8ba256769a0ac28dd126d584e0a2011cd2877f3f76e093a7ae560f2a5301c00
Status: Image is up to date for hello-world:latest
docker: Error response from daemon: could not get container for natsserver: No such container: natsserver.
See 'docker run --help'.
如果我尝试运行我在本地构建的映像,情况会变得更糟:
> docker build -t nats-logger .
[...]
Successfully tagged nats-logger:latest
> docker run --rm -it --name nats-logger --link=natsserver nats-logger
Unable to find image 'nats-logger:latest' locally
docker: Error response from daemon: pull access denied for nats-logger, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
所以我的问题是:
a) 是否允许docker在这种情况下尝试拉动,或者这是一种不良行为?
b)这真的是一个糟糕的错误消息,还是我错过了什么?
PS:我正在运行 Docker 版本 19.03.2,在 Windows 10 上构建 6a30dfc。