Image 为什么可以';在docker swarm集群中自动从aws上的ecr提取图像?

Image 为什么可以';在docker swarm集群中自动从aws上的ecr提取图像?,image,amazon-web-services,docker,docker-compose,docker-swarm,Image,Amazon Web Services,Docker,Docker Compose,Docker Swarm,使用此方法部署已构建为托管在ecr上的docker映像的应用程序: version: "3" services: web: image: [AWS_ECR_REPO_URL]/app0:latest deploy: replicas: 5 restart_policy: condition: on-failure resources: limits: cpus: "0.1"

使用此方法部署已构建为托管在ecr上的docker映像的应用程序:

version: "3"
services:
  web:
    image: [AWS_ECR_REPO_URL]/app0:latest
    deploy:
      replicas: 5
      restart_policy:
        condition: on-failure
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
    ports:
      - "80:80"
    networks:
      - webnet
networks:
  webnet:
部署它:

$ docker stack deploy -c docker-compose.yml app0
然后使用
docker images
检查本地图像,根本找不到
[AWS\u ECR\u REPO\u URL]/app0:latest

如果我自己进行回购,可以得到:

$ docker pull [AWS_ECR_REPO_URL]/app0:latest
我不知道为什么。

  • 如果要提取私有映像,请使用
    docker login
    输入您的凭据

  • 指定要登录到自托管注册表的服务器名称

    docker登录服务器名称(本地主机)

  • 对swarm使用
    --带注册表验证
    选项

    docker堆栈部署--使用注册表验证


我已经做到了。正如我所说的,我可以通过以下方式提取图像:
docker-pull[AWS\u-image]
。但无法通过运行
docker stack deploy…
自动拉取。您是否检查过——使用注册表验证swarm(stack deploy)?这是关键。当我添加了
——使用注册表身份验证时,它就可以工作了!谢谢