Когда вы вручную кодируете строки base64 в командной строке, вы должны быть осторожны, чтобы не включать перевод строки. echo -n
полезно для этого.
$ echo -n '@' | base64
QA==
Это соответствует тому, что находится в вашем файле .docker/config.json
. Если я расшифрую вашу другую строку
$ echo -n 'QAo=' | base64 -D | od -t x1
0000000 40 0a
, она будет содержать два байта: ASCII 0x40 (@
) и 0x0a (новая строка).