【Docker】ログがどこだかわかんない件
肥大化したログファイル
ローカル環境の動作確認で、Dockerが大活躍なんですけど。 どうもログファイルがどんどこ大きくなってる気がする。
dokcer logs ${コンテナID}
でログを確認すると、どわーーーーーーーーーーって出てきて。もう止まらん。 これは、一旦クリアしたいぜ。
そもそもどこにあるのよ?
ありがたきネット先生さまさま。
このコマンドでわかるとのこと。
docker inspect ${コンテナID} | grep -i log "LogPath": "/var/lib/docker/containers/42717343b3b7188304007796f66020e45a6c47a9d82c7a40204be464b80c7caa/42717343b3b7188304007796f66020e45a6c47a9d82.....4be464b80c7caa-json.log", "LogConfig": {
でもさ。どういうわけだか、いないの。
ls /var/lib/docker/containers ls: /var/lib/docker/containers: No such file or directory
こまった母さん。
みいつけた!
コンテナログは、MacOSホストではなくDocker for Mac VMに保存されるそうです。 で、VMにアクセスしてから、ログファイルをクリアしたいのだが、 VMへのアクセス方法が変わっている様子。
私のMac環境だと、この方法が有効でした。
socat -d -d ~/Library/Containers/com.docker.docker/Data/debug-shell.sock pty,rawer
socat がないよっていう場合は、インストールする。
brew install socat
で、socatコマンドでttysの番号などを確認
socat -d -d ~/Library/Containers/com.docker.docker/Data/debug-shell.sock pty,rawer 2022/03/16 16:52:37 socat[13940] N successfully connected from local address LEN=16 AF=1 "" 2022/03/16 16:52:37 socat[13940] N successfully connected via 2022/03/16 16:52:37 socat[13940] N PTY is /dev/ttys004 2022/03/16 16:52:37 socat[13940] N starting data transfer loop with FDs [5,5] and [6,6]
別のターミナルを開き。
screen /dev/ttys0xx
このttys0xxはsocatで出力された番号と合わせる。
で無事、VMに入ることができました!
ls /var/lib/docker/containers/
で確認すると、いたよーーーーーー!! ログ発見。めでたしめでたし。
参考にさせていただきました。
socatでの接続方法【2022/03/16現在、私のMacでは有効でした】
https://qiita.com/notakaos/items/b08ba7166bb5b56576a1
screenを使っている方法たち↓