docker-compose не умеет искать конфиги docker’a из snap’a

Исходная обстановка:

docker version 18.09.9, build 1752eb3 docker-compose version 1.25.4, build 8d51620a Ubuntu 18.04

При пуле из приватного AWS ECR после docker login и aws ecr get-login-password сам docker работает нормально, а вот docker-compose не может аутентифицироваться в ECR и отдает ошибку:

ERROR: compose.cli.errors.log_api_error: Get https://aws_id.dkr.ecr.region.amazonaws.com/image:tag: no basic auth credentials

Через verbose выяснено, что docker-compose ищет конфиг с ключами в ~/.docker/config.json или ~/.dockercfg, а если (как было и есть у меня) docker поставлен через snap, то конфиг благополучно не находится, потому что всё лежит в другом месте. Спасибо на том, что в verbose пишет.

Конфиг же лежит в ~/snap/docker/current/.docker/config.json, где current — это симлинк до текущей версии.

Выход: создать симлинк на существующий конфиг в ~/.docker/

UPD: Хотя да, тут можно и в мейнтейнеров пакета из Canonical камень кинуть, почему они симлинки конфигов в стандартные места не делают при установке. Кажется разумным так делать.

Поделиться
Отправить