Команда docker login не позволяет использовать базовый образ из ECR - PullRequest
1 голос
/ 01 мая 2019

У меня есть эта последовательность:

    docker_login_cmd="$(aws ecr get-login --no-include-email --region ${region})"

    eval "$docker_login_cmd"

    docker pull 9136xxx0371.dkr.ecr.us-west-2.amazonaws.com/interos_keys:latest

    docker images

   ./jenkins-jobs/jobs/foo/exec.sh

, что приводит к этому выводу:

    + docker login -u AWS -p eyJwYXlsb2FkIjoiYUlBa0xJZ1RTb2NYOU4vSzU2dG55di84cHJmdDlZeHlTTVVuZ2lwaEloZXlOemUJFSUE3eE1iWmFJRU9Ya0crMWZUVkJzYXpPSGMvV2xQUmIxUGdBc2pLQjUrYVo2bzl1TE11dTJybTVwUTErU1daTU9uMkFhYmg5T0pnazE4MWgrQT0iLCJ2ZXJzaW9uIjoiMiIsInR5cGUiOiJEQVRBX0tFWSIsImV4cGlyYXRpb24iOjE1NTY3ODA2MTR9 https://913617820371.dkr.ecr.us-west-2.amazonaws.com
    WARNING! Using --password via the CLI is insecure. Use --password-stdin.
    WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store

    Login Succeeded
    + docker pull 9136xxxx0371.dkr.ecr.us-west-2.amazonaws.com/interos_keys:latest
    latest: Pulling from interos_keys
    Digest: sha256:efa5fab058ebd44b084e2bb3whateverf7fae45268d897c9c780f9d
    Status: Image is up to date for 9136xxxx20371.dkr.ecr.us-west-2.amazonaws.com/interos_keys:latest


   + docker images
    REPOSITORY                                                     TAG                 IMAGE ID            CREATED             SIZE
    9136xxx0371.dkr.ecr.us-west-2.amazonaws.com/interos_keys      latest              df61268da808        26 minutes ago      934MB
    + ./jenkins-jobs/jobs/foo/exec.sh

    Sending build context to Docker daemon  6.144kB

    Step 1/15 : FROM interos_keys:latest
    pull access denied for interos_keys, repository does not exist or may require 'docker login'

это унизительно ... что я делаю не так. Он просто вытянул изображение с именем interos_keys: последнее локально, поэтому изображение уже локально, и я уже вошел в систему с помощью Docker. Wtf продолжается LOL.

1 Ответ

2 голосов
/ 01 мая 2019

interos_keys:latest на самом деле не полное имя изображения.Yout также нужно использовать хранилище.9136xxxx0371.dkr.ecr.us-west-2.amazonaws.com/interos_keys:latest - полное имя.

FROM 9136xxxx0371.dkr.ecr.us-west-2.amazonaws.com/interos_keys:latest

будет работать.

Таким образом можно ссылаться на все изображения.Универсальный формат example.com/image-name:tag.Для имен репозиториев, которые не являются URL-адресами, Docker Hub просто «жестко запрограммирован».См. Разрешение имени реестра Docker

Кроме того, изображения без какого-либо репозитория переводятся в репозиторий библиотеки Docker Hub, см. https://hub.docker.com/u/library/. Обычно это официальные изображения для некоторых приложений.

...