Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker run的结果是;找不到图像";如果未找到链接的容器_Docker - Fatal编程技术网

docker run的结果是;找不到图像";如果未找到链接的容器

docker run的结果是;找不到图像";如果未找到链接的容器,docker,Docker,如果在未找到链接容器的情况下运行映像,则可能会收到错误行为和错误消息: # 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

如果在未找到链接容器的情况下运行映像,则可能会收到错误行为和错误消息:

# 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) 这真的是一个错误消息,还是我错过了什么

注意:我正在运行Docker版本19.03.2,在Windows 10上构建6a30dfc

在这种情况下docker可以试着拉吗

如果机器上没有图像,Docker将提取图像

在本地找不到图像“hello world:latest”

此警告消息不是由于链接,而是因为系统本地映像中不存在
hello world:latest
。因此,当运行docker run时,它将在本地查找,如果不存在,则将从远程提取

首先,最好使用docker compose,而不是传统的容器链接

如果容器未运行,则无法链接该容器。使用
docker ps
验证容器
natsserver
,然后如果它正在运行,则可以链接

docker run --rm -it --name hello-world --link natsserver:my_natserver_host hello-world
完成后,您可以检查链接

docker inspect hello-world | grep -A 1 Links
传统容器链接

警告:
--link标志
是Docker的传统功能。可能 最终将被移除。除非你绝对需要继续使用 因此,我们建议您使用用户定义的网络来 两个容器之间的通信,而不是使用
--link
。一个 用户定义的网络不支持您可以使用的功能
--link
在容器之间共享环境变量。但是,您可以使用卷等其他机制来共享环境 以更可控的方式在容器之间创建变量

  • 只需尝试“docker登录”

  • 检查您的图像名称是否存在于docker hub中

  • 并检查正确的docker build命令->
    docker build-t映像名。

  • 检查Docker文件脚本的正确性


错误
docker:daemon的错误响应:无法获取natsserver的容器:没有这样的容器:natsserver。
说所有容器都应该运行