Dockerファイルをビルドしようとするとこのエラーが発生します
error creating aufs mount to /var/lib/docker/aufs/mnt
/6c1b42ce1a98b1c0f2d2a7f17c196221445f1054566065d4c607e4f1b99930eb-init:
invalid argument
どういう意味ですか?どうすれば修正できますか?
/var/lib/docker/aufs
を削除した後、いくつかの未解決のエラーが発生しました。これはいくつかの余分な手順で解決されました。
コメントする評判が足りないため、@ benwalther answer に追加するには:
# Cleaning up through docker avoids these errors
# ERROR: Service 'master' failed to build:
# open /var/lib/docker/aufs/layers/<container_id>: no such file or directory
# ERROR: Service 'master' failed to build: failed to register layer:
# open /var/lib/docker/aufs/layers/<container_id>: no such file or directory
docker rm -f $(docker ps -a -q)
docker rmi -f $(docker images -a -q)
# As per @BenWalther's answer above
Sudo service docker stop
Sudo rm -rf /var/lib/docker/aufs
# Removing the linkgraph.db fixed this error:
# Conflict. The name "/jenkins_data_1" is already in use by container <container_id>.
# You have to remove (or rename) that container to be able to reuse that name.
Sudo rm -f /var/lib/docker/linkgraph.db
Sudo service docker start
/var/lib/docker/aufs/diff
を削除しましたが、同じ問題が発生しました:
/ var/lib/docker/aufs/mnt/blah-blah-initへのaufsマウントの作成エラー:無効な引数
次のコマンドを実行して解決しました。
docker stop $(docker ps -a -q);
docker rm $(docker ps -a -q);
docker rmi -f $(docker images -a -q)
AUFSは、Dockerコンテナファイルシステムをマウントできません。
これは、次のいずれかの理由によるものです。パスが既にマウントされている-または-既存のボリュームが大量にあるため、DockerとAUFSの相互作用に競合状態がある。
これを解決するには、次を試してください。
dockerサービスまたはデーモンを再起動して、再試行してください。
_/var/lib/docker/aufs/
_の下のパスにマウントされているaufについてmount
を確認します。見つかった場合は、Dockerを停止し、umount
それら(Sudoが必要)。
例:
mount
none on /var/lib/docker/aufs/mnt/55639da9aa959e88765899ac9dc200ccdf363b2f09ea933370cf4f96051b22b9 type aufs (rw,relatime,si=5abf628bd5735419,dio,dirperm1)
その後_Sudo umount /var/lib/docker/aufs/mnt/55639da9aa959e88765899ac9dc200ccdf363b2f09ea933370cf4f96051b22b9
_
Sudo rm -rf /var/lib/docker/aufs
_を停止します。既存の停止したコンテナとすべてのイメージが失われます。しかし、これは問題を解決するために保証されています。残念ながら、私のシステムでは上記の答えでこれを解決できませんでした。 Docker管理者は、aufsレイヤー内の特定のファイルを記憶できなくなりました。他のソリューションも機能しませんでした。そのため、これがオプションの場合は、アンインストール/パージdocker
およびdocker-engine
:
apt-get purge docker docker-engine
次に、すべて from /var/lib/docker
は削除されます。
rm -rf /var/lib/docker
その後、Dockerを再度インストールします。
Lubuntu(Ubuntu 4.15.0-20-generic)でDocker CE 18.03で同様の問題が発生しました。説明されているオプションはどれも役に立ちませんでした。
最新のdockerバージョンはoverlay2ストレージドライバーを使用しているようです。ただし、一部のアプリケーションではaufが必要です。したがって、考えられる修正方法は、このドッカーガイドを使用して、ストレージドライバーをaufsに変更するだけです(単に「overlay2」を「aufs」に置き換えます) このガイド内
WindowsでDockerを使用しているときに、同様の問題が発生しました。
ERROR: Service 'daemon' failed to build: error creating overlay mount
to /var/lib/docker/overlay2/83c98f716020954420e8b89e6074b1af6
1b2b86cd51ac6a54724ed263b3663a2-init/merged: no such file or directory
この問題は、イメージのDockerfile
からボリュームを削除し、イメージを再構築してからPCを再起動した後に発生しました。たぶんこれは一般的な原因ですか?
Docker
-> Settings
-> Reset
-> Reset to factory defaults...
をクリックして問題を解決できました
その後、私の画像はすべて失われましたが、それは私にとっては問題ではありませんでした。また、VMディスクイメージ(Advanced
の[Settings
タブの下にあるパス)]を削除すると問題が解決できると考えました。しかし、このアプローチは試しませんでした。
再起動後のWindowsでは、Dockerマシンの問題は解決されます。
次のコマンドを使用します。
docker-machine stop
docker-machine start
docker-compose up