問題タブ [docker-logs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - Azure App Service から Seq ログ サーバーに Docker コンテナー ログを送信する方法を教えてください。
私の Web サイトは Docker コンテナーを使用しており、Azure App Service を使用して Azure でホストしています。ロギングを一元化するために Seq ログ サーバーを使用しています。
Azure App Service から Seq ログ サーバーに Docker コンテナー ログを送信するにはどうすればよいですか?
残念ながら、これは不可能だという答えが返ってくるかもしれません。Docker コンテナー ログを Seq ログ サーバーに送信する "適切な" 方法には、コマンドにいくつかの引数を追加することが含まれますが、Azure App Service または対応するdocker run
Azure Web App Service for Container タスクでそのような引数を提供する方法が見つかりません。そのサービスに新しいコンテナ イメージをデプロイするために使用します。
docker のログを Seq に送信したい理由の 1 つは、Azure によるログの処理がわかりにくいと思うからです。 この質問には、Azure から一部の Docker ログを削除する方法に関する多くの回答が含まれていますが、Seq ログ サーバーで "docker" を検索するほど単純または完全なものはありません。
おそらく、Azure App Service はその仕事に適したツールではありません。代わりに、Azure Container Instance (ACI) を使用する必要があるかもしれません。 Docker との統合は強力なようです。しかし、この答えは言う
Azure Web App for Containers は長時間実行されるもの (常に実行されている) を対象としていますが、ACI はスケジュールされた、バースト可能な、短期間のワークロード (Azure Functions と同様) を対象としています。
私の Web サイトは常に実行されているはずなので、Azure App Service を正しく使用していると思います。
Docker taskを使用して Azure App Service にデプロイする必要があるかもしれません。しかし、2 つの点で私は別のことを考えさせられます。1つ目は、タスクが次のように述べていることです。
このタスクを使用して、Docker レジストリ サービス接続を使用して Docker イメージをビルドし、任意のコンテナー レジストリにプッシュします。
[...]
このタスクは、ジョブおよびサービス コンテナーの制御にも使用できます。この使用法は一般的ではありませんが、特殊な状況で使用されることがあります。
また、私の Azure App Service には、実行時に多くの引数が含まれていますdocker run
。それらがすべて何をするのかはわかりませんし、物事を正しく機能させるために何を含める必要があるのかもわかりません。
おそらく、引数を介して構成可能なこれらのオプションdocker run
は、作成時に Docker イメージでハードコーディングできます。ただし、これが可能であるという提案は見つかりませんでした。
docker run
私が気にかけている議論の 1 つは--log-driver
. Docker コンテナーのデフォルトのログ ドライバーは、daemon.json
構成ファイルを介して設定できます。私の Azure App Service に関連付けられた Docker コンテナーは、この構成ファイルを介して構成できる可能性があります。しかし、私はこれを行う方法を見つけていません。