Я не могу аутентифицировать облачный драйвер Google gcplogs для Docker, несмотря на то, что я установил env var GOOGLE_APPLICATION_CREDENTIALS на путь / файл, где находятся учетные данные JSON моей учетной записи службы. Сообщение об ошибке следующее:
ERROR: for oncrm_oncrm_1 Cannot start service oncrm: failed to initialize logging driver: google.DefaultTokenSource: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
Конфигурация, которую я использую в docker-compose:
logging:
driver: gcplogs
options:
gcp-project: "gcloud-project-id"
gcp-meta-name: "prod-helpsec-01"
labels: "app"
Среда, в которой я пытаюсь запустить контейнер докера:
docker-ce v18.03docker-compose v1.21.0Ubuntu 17.10

google.DefaultTokenSource: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
У меня была та же проблема, что и выше, когда я запускал службы докеров с драйвером ведения журнала gcplogs.
Это мое решение проблемы:
На хост-машине:
sudo mkdir -p /etc/systemd/system/docker.service.d
Создать файл:
/etc/systemd/system/docker.service.d/docker-service-override.conf
с этим содержанием:
[Service]
Environment = "GOOGLE_APPLICATION_CREDENTIALS=/root/gcp-logging-service-cridentials.json"
Перезапустите службу докеров:
sudo systemctl daemon-reload
sudo systemctl restart docker
Полезные ссылки:
награждая вас за подробное объяснение решения, которое я нашел сам.
Есть идеи, как это сделать с помощью Docker для Mac?
Ну, очевидно, демону нужна переменная env в конфигурации systemd. Итак, это решено