
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/