Docker コンテナの構築中に /var/lib/docker にリンクが多すぎるというエラーが発生する

Docker コンテナの構築中に /var/lib/docker にリンクが多すぎるというエラーが発生する

SOで誰かがここに投稿することを提案しました。https://stackoverflow.com/questions/59024392/too-many-links-in-var-lib-docker-error-while-building-docker-container


実行しようとするdocker-compose buildと次のエラーが発生します:

エラー: ... evalSymlinksInScope: /var/lib/docker/overlay2/a476d12eaac1c1e3cc684c992cf829b61b999959fd7d23d5a27120dbfd43e178/merged/opt/api/resources にリンクが多すぎます

オンラインで検索し、次のコマンドを実行してみましたが、何も機能しません。

docker network prune
docker images prune
docker system prune -a --volumes

を実行するとln -ls /var/lib、このフォルダには に関するものは何もありません/docker。これは Docker コンテナのことを指しているのでしょうか? もしそうなら、ビルドの途中でこのようなことが起こるのはなぜでしょうか。この問題を解決する方法についてのアイデアがあれば、ぜひ教えてください。

答え1

同じ問題があったので、

Docker -> トラブルシューティング -> 工場出荷時のデフォルトにリセット

警告: すべてのコンテナとボリュームが削除されます

答え2

「リンクが多すぎます」というエラーは通常、それ自体を指すシンボリック リンクがあることを意味し、Docker に固有のものではありません。

何が起こるかを確認するには、namei通常は の一部である コマンドを使用しますutil-linux

namei /var/lib/docker/overlay2/a476d12eaac1c1e3cc684c992cf829b61b999959fd7d23d5a27120dbfd43e178/merged/opt/api/resources

次のような出力が表示され、パスのどこかにリンク レベルが多すぎることが示されます。

f: /var/lib/docker/overlay2/a476d12eaac1c1e3cc684c992cf829b61b999959fd7d23d5a27120dbfd43e178/merged/opt/api/resources
 d /
 d var
 d lib
 ...

答え3

docker-compose私はWindowsからDebian VPSにNode.jsアプリをデプロイしようとしていました--contextが、どうやら理由はわかりませんが同じ問題が発生しました。

上記の解決策をすべて試し、イメージ キャッシュとビルド キャッシュの両方をクリアしましたが、それでも何も機能しませんでした。その後、デスクトップ バージョンの docker が自動的にアップグレードされたことがわかったので、VPS でも docker をアップグレードすることにし、すべてがスムーズに実行されました。

したがって、これは Docker の内部ビルド プロセスの変更、ストレージ ドライバーに関する変更が原因で、バージョン間で重大な変更が発生したためだと思いますが、確信はありません。これが、より具体的な解決策を見つけるのに役立つことを願っています。

これは私がDebianでDockerをアップグレードするために従ったガイドですhttps://docs.wavemaker.com/learn/on-premise/upgrade/docker-upgrade/

関連情報