无法在Docker中运行映像

时间:2020-09-08 16:56:00

标签: docker

我根据一些项目创建了一个名为“ helloworld ”的图像。

如果我运行:

码头工人图像

我可以在列表顶部看到它。

enter image description here

现在,如果我想运行它,码头工人会抱怨它不存在。

运行此:

docker run -p 8080:8080 helloworld

返回此:

docker:来自守护程序的错误响应:helloworld的请求访问被拒绝, 存储库不存在或可能需要'docker login':拒绝: 请求的对资源的访问被拒绝。请参阅“ docker run --help”。

为什么docker抱怨我的映像不存在?

3 个答案:

答案 0 :(得分:1)

您的图片构建命令:

docker build --rm -f "Dockerfile" -t helloworld:1.0 "."

您的图像名称是helloworld:1.0

如果您运行过docker build --rm -f "Dockerfile" -t helloworld "."

那么您的图片名称是helloworldhelloworld:latest,那么您的第一次尝试就可以了。

要解决您的问题,请改用以下方法:

docker run -p 8080:8080 helloworld:1.0

答案 1 :(得分:1)

它抱怨,因为:

dx

是此版本的简化版本:

docker run -p 8080:8080 helloworld

,然后根据截图将您的图片命名为

docker run -p 8080:8080 docker.io/library/helloworld:latest

因此正确的命令(跳过默认前缀)为:

docker.io/library/helloworld:1.0

答案 2 :(得分:1)

其他答案是正确的,但没有清楚解释为什么它们是正确的。

docker run命令需要一个图像名称以及一个可选的标签(即docker run IMAGE[:TAG])。如果未提供标签,则默认值为latest

运行docker run helloworld等效于docker run helloworld:latest,但是根据docker images,此图像在OP的系统中不存在。

解决方案是指定图像标签:helloworld:1.0