現在、デジタル海洋でドッカーを作成しており、gcplogs(Google Cloud Loggingドライバ)を試してみたいと考えています。私が理解しているように、私はGoogle Application Default Credentialsを設定する必要があります.jsonキーファイルをダウンロードし、それを指すようにGOOGLE_APPLICATION_CREDENTIALS
を設定します。dockerでデジタル海上のドッキングgcplogs(Google Cloud Loggingドライバ)を使用しています
これは私が(それが動作せずに)これを設定している方法です
version: "2"
services:
containername:
build: /whatever/containername
environment:
- GOOGLE_APPLICATION_CREDENTIALS=/usr/src/app/project-12349aba.json
logging:
driver: gcplogs
options:
env: test
gcp-project: my-project-name
これは私に次のエラー与える:
ERROR: for containername 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.
は、私が何をしないのですか?私は間違って何をしていますか?
資格ファイルが正常に機能していると私は確信しています。なぜなら、ルビーgoogle/cloud
gemを使ってアプリ内で使用するからです。私はまた、そのruby-gemを使って正常にログすることができますが、これをドッカーコンテナで動作させたいので、他の非rubyプロジェクトで再利用することができます。
ありがとうございます!しかし、ロガーは役に立たない。私が理解しているように、ドッカーの要点は、使い捨てのサーバーとコンテナを持っていて、即座に起動し、設定のどれかを考えないようにすることです。これをドッキングマシンに組み込む方法はありますか?それともコンテナにも影響を及ぼしていますか? – Automatico
docker-composeはコンテナを設定するためのものです。 Composeファイルから使用するドライバを設定しますが、Docker Engineはそのドライバの使用方法を知る必要があります。私はそれがロガーを無駄にするとは思わない、それはあなたがエンジンを適切に最初に構成しなければならないということを意味するだけである。 – dnephin
「役に立たない」という言葉は私の誇張であるかもしれませんが、使いやすさは低下します。実際には、コンテナごとにロガーを設定するので、コンテナごとに設定できるようにすることは意味があります。 – Automatico