如何运行拉取的映像 - 码头工人



我正在尝试运行拉取的映像,但没有任何成功。我使用图像 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

最新更新