Когда я делаю docker login
в частный репозиторий, используя докер 1.10.1, в моем файле ~/.docker/config.json
создается запись. Этот файл имеет тот же формат, что и то, что я вижу, называется файлом .dockercfg
? Является ли файл config.json
взаимозаменяемым с файлом .dockercfg
?
.docker/config.json и .dockercfg
Ответы (1)
Я предполагаю, что config.json
— это новый файл .dockercfg
.
См. docker/cliconfig/config.go
< /а>
// ConfigFileName is the name of config file
ConfigFileName = "config.json"
oldConfigfile = ".dockercfg"
Новый файл конфигурации теперь задокументирован в разделе man/config-json.5.md
Это было представлено в commit 18c9b6c в docker 1.7.0 (апрель 2015 г.)
Добавление
.docker/config.json
и поддержка заголовков HTTPЭтот PR делает следующее:
- мигрировал
~/.dockerfg
в~/.docker/config.json
.
Данные переносятся, но старый файл остается на случай, если он понадобится.
Примечание: с 2016 года:
- с
config-json.5
поdocker-config-json.5
(commit a596d3d, docker docs-v1.12.0-2016-07-28 ) - документация была перемещена в
docker/cli
(коммит b5579a4, Docker v17.07.0-ce-rc1)
Он отличается от docker-daemon.8.md
, который по умолчанию использует /etc/docker/daemon.json
, файл конфигурации демона появился в Docker версии 1.10.
So:
config.json
предназначен для docker CLI.daemon.json
предназначен для интерфейса командной строки dockerd (daemon).
Но config.json
(применяется ко всем контейнерам) не включает docker run
сетевые настройки< /a>: --net=host
не может быть указано в этом файле конфигурации.
Обновление 2021 (с 2017 года), как отмечено slm в комментариях:
Учетные данные теперь хранятся в том, что ваша ОС использует для управления секретами.
В MacOS они хранятся в Связке ключей, вы можете найти их, выполнив поиск Учетные данные Docker во всех элементах.
Вы можете увидеть проект docker/docker-credential-helpers
: набор программ использовать собственные хранилища для обеспечения безопасности учетных данных Docker.
Дополнительную информацию см. в разделе docker login/Credentials Store.