Docker Pull可以进行身份验证,但运行不能



我构建,标记&发布了我的第一个(有史以来(docker图像:

docker build -t myapp .
docker tag <imageId> quay.io/myorg/myapp:1.0.0-SNAPSHOT
docker login quay.io
docker push quay.io/myorg/myapp:1.0.0-SNAPSHOT
然后,我登录到quay.io,以确认已成功推动标记的图像。因此,我进入了一个品牌新的AWS EC2实例,并按照他们的说明安装Docker:
sudo yum update -y
sudo yum install -y docker
sudo service docker start
sudo usermod -a -G docker ec2-user
sudo docker info

有趣的是, sudo usermod -a -G docker ec2-user命令似乎无法正常工作,因为我仍然需要将 sudo附加到我所有命令上...

所以我尝试拉我的标记图像:

sudo docker pull quay.io/myorg/myapp:1.0.0-SNAPSHOT
Please login prior to pull:
Username: myorguser
Password: <password entered>
1.0.0-SNAPSHOT: Pulling from myorg/myapp
<hashNum1>: Pull complete 
<hashNum2>: Pull complete 
<hashNum3>: Pull complete 
<hashNum4>: Pull complete 
<hashNum5>: Pull complete 
<hashNum6>: Pull complete 
Digest: sha256:<longHashNum>
Status: Downloaded newer image for quay.io/myorg/myapp:1.0.0-SNAPSHOT

到目前为止,一切都很好(我想!(。让我们看看我当地的Docker引擎知道的图像:

sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

嗯...这似乎不对。哦,好吧,让我们尝试为我的(成功?(拉动图像运行一个容器:

sudo docker run -it -p 8080:80 -d --name myapp:1.0.0-SNAPSHOT myapp:1.0.0-SNAPSHOT
Unable to find image 'myapp:1.0.0-SNAPSHOT' locally
docker: Error response from daemon: repository myapp not found: does not exist or no pull access.
See 'docker run --help'.

有什么想法我要去哪里?

要列出图像,您需要使用: docker images

拉动时,图像具有相同的标签。因此,如果您想运行,则需要使用:

sudo docker run -it -p 8080:80 -d --name myapp:1.0.0-SNAPSHOT quay.io/myorg/myapp:1.0.0-SNAPSHOT

如果您想使用短名称,则需要在 docker pull之后重新序列:

sudo docker tag quay.io/myorg/myapp:1.0.0-SNAPSHOT myapp:1.0.0-SNAPSHOT

之后,您的docker run命令将起作用。请注意,docker ps适用于正在运行的容器(如果与-a一起使用,则在最近已退出(

最新更新