Невозможно использовать Docker логин --password-stdin - PullRequest
0 голосов
/ 31 мая 2019

Я хотел бы вставить встроенный образ докера в центральный докер-концентратор в процессе автоматической сборки. Чтобы сделать это, мне нужно сначала войти в систему, а затем делать толчок.

Соответствующий раздел файла .gitlab-ci.yml следующий:

docker-deploy:
  image: docker:latest
  stage: deploy
  before_script:
    - echo $HUB_PW | docker login -u $HUB_USER --password-stdin
  after_script:
    - docker logout
  script:
    - docker push <mytag>:$CI_PIPELINE_ID

Я получаю следующую ошибку в Gitlab CI

$ echo $HUB_PW | docker login -u $HUB_USER --password-stdin
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password

Соответствующие переменные среды $HUB_PW и $HUB_USER установлены правильно.

Я пытался сделать то же самое в linux bash, с доступным докером, с тем же результатом.

Однако я могу войти в Docker интерактивно.

docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: <myusername>
Password: 
Login Succeeded

Когда я выхожу из системы, я получаю

docker logout
Removing login credentials for https://index.docker.io/v1/

Нет способа сделать интерактивный вход в систему при автоматической сборке. И я не понимаю разницы в URL-адресах концентраторов, в зависимости от использования интерактивного входа в систему и входа с паролем.

Кто-нибудь знает, как заставить работать эту настройку?

...