完全なDocker Composeビルドログを表示するには? daemon.json は無視されます。

完全なDocker Composeビルドログを表示するには? daemon.json は無視されます。

失敗をデバッグしたいがdocker compose build --no-cache(キャッシュで成功)、ログの制限により失敗の理由がわからず、メッセージのみが表示されますoutput clipped, log limit 1MiB reached

Dockerのドキュメントによると、以下を作成しました/etc/docker/daemon.json

{
  "features": { "buildkit": true },
  "log-driver": "local",
  "log-opts": 
  {
    "max-size": "100m",
    "max-file": "3"
  }
}

その後、次のようにsystemctl docker restart表示docker infoされます。

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
  compose: Docker Compose (Docker Inc., 2.6.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.17
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: false
  userxattr: false
 Logging Driver: local
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1.m
 runc version: 
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.18.5-arch1-1
 Operating System: Arch Linux
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 15.41GiB
 Name: konradspc
 ID: 6NFV:RQP7:V6XK:7D6Z:W2LC:LPGR:HQBQ:V55P:BECL:WXPP:YPC5:2QQ2
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

以前は、ロギングドライバは「json-file」の代わりに「local」と表示されていたため、Dockerが正常にロードされているようです/etc/docker/daemon.json

ただし、docker compose build --no-cacheやり直してもメッセージが表示されますoutput clipped, log limit 1MiB reached

これをどのようにdocker compose無視できませんかdaemon.json?それとも、ビルドログ全体にアクセスする別の方法がありますか?

私は、カーネル5.18.5がインストールされているArch LinuxでDockerバージョン20.10.17、ビルド100c70180f、Docker Composeバージョン2.6.0、およびBuildKitを使用しています。ビルドは--mount=type=cache,target=/root/.m2Mavenの依存関係をキャッシュするために使用されるため、BuildKitを無効にすることはできません。

ベストアンサー1

~によるとこのスレッド回避策は、buildkitビルドを無効にしてこのロギング制限を回避することです。

DOCKER_BUILDKIT=0 docker compose build --no-cache

すでに他のユーザーが見た場合成功また、この方法を使用してください。一部の人に効果があると思われるもう1つの提案は、次の環境変数を追加することです/etc/sysconfig/docker

BUILDKIT_STEP_LOG_MAX_SIZE=10000000
BUILDKIT_STEP_LOG_MAX_SPEED=10000000

理論的には源泉、各変数の値を使用するとすべての制限を削除することができますが-1、他のユーザーによると結果がずれます。

おすすめ記事