我正在尝试运行拉取的映像,但没有任何成功。我使用图像 URI 从 AWS 拉取了图像。
当我运行docker images
时,我可以看到我拉出的图像:
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine 3.9 055936d39205 3 weeks ago 5.53MB
24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools dab-1.1.0slim f994713b61cb 3 weeks ago 110MB
ubuntu 16.04 a3551444fc85 5 weeks ago 119MB
anapsix/alpine-java 8 745575fbfe52 3 months ago 126MB
我是 dockers 的新手,但据我所知,拉动后无需构建它,只需运行它,但是当我尝试像这样运行它时: docker run 24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools
我收到以下消息:
Unable to find image '24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools:latest' locally
docker: Error response from daemon: pull access denied for 24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools, repository does not exist or may require 'docker login'.
所以我试着这样构建它:docker build -t 24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools
并收到消息:
"docker build" requires exactly 1 argument.
See 'docker build --help'.
问题出在哪里?如何从 AWS 运行拉取的映像?
没有任何带有标签"latest"的图像尝试使用标签"dab-1.1.0slim"运行
docker run 24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools:dab-1.1.0slim
否则,您可以使用映像 ID 运行 docker 映像
docker run -i -t f994713b61cb
有关 Docker 运行命令的更多信息,请查看https://docs.docker.com/engine/reference/commandline/run/
您可以使用简单的命令
docker run -d -p [PORT_ON_YOUR_BROWSER]:[PORT_ON_CONTAINER] <Image ID>
docker run -d -p 8080:80 <Image ID>
以下是我通常如何完成这些步骤:
# download an image
> docker pull danielszabo99/microbin
# list your images
> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
danielszabo99/microbin latest c6669d651bfe 37 hours ago 77.8MB
> docker run danielszabo99/microbin
# this image runs on port 8080 so we can also map it to a localhost
# port for browser access (local:remote)
# docker run --publish 8080:8080 danielszabo99/microbin
尝试通过 docker 镜像 id 运行镜像构建映像时,您需要在命令末尾添加.
例如 docker build -t 24325.dkr.ecr.us-east-1.amazonaws.com/lm/rd/tools .
,你需要有Dockerfile
(假设你有(。
为其他任何人添加一些上面未涵盖的信息。
检查哪些 docker 映像可用 docker ls -al
会将映像name
添加到终端输出中,从而允许docker run name
类似于使用 Sree 在他的答案中给出的image ID
。但是,docker 默认名称是人类可读的,并且在构建容器时自动创建。
运行从远程存储库中提取的docker映像,只需使用映像ID而不是映像名称(存储库(。
docker run -i -t f994713b61cb /bin/bash