docker version
の出力:
Client:
Version: 1.8.2-el7.centos
API version: 1.20
Package Version: docker-1.8.2-10.el7.centos.x86_64
Go version: go1.4.2
Git commit: a01dc02/1.8.2
Built:
OS/Arch: linux/amd64
Server:
Version: 1.8.2-el7.centos
API version: 1.20
Package Version:
Go version: go1.4.2
Git commit: a01dc02/1.8.2
Built:
OS/Arch: linux/amd64
docker info
の出力:
Containers: 0
Images: 130
Storage Driver: devicemapper
Pool Name: docker-253:0-3221586422-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: xfs
Data file: /dev/loop4
Metadata file: /dev/loop5
Data Space Used: 107.4 GB
Data Space Total: 107.4 GB
Data Space Available: 0 B
Metadata Space Used: 60.92 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.087 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.107-RHEL7 (2015-12-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 12
Total Memory: 31.2 GiB
Name: IP-5-14
ID: DNOS:FC2P:2WH4:OSYL:L2CH:U7HZ:MFL2:ZID3:SYTX:JWKP:TGIN:YYPB
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
追加の環境の詳細(AWS、VirtualBox、物理など):
問題を再現する手順:
以下のコマンドを使用して、gatewayというDockerイメージを実行したいと思います(ゲートウェイのDockerfileにデーモンなしのエントリポイントが設定されています)
docker run -d -P gateway
受け取った結果を説明してください。
コンテナは通常どおり実行できます
期待した結果を説明してください。
[root@IP-5-14 devicemapper]# docker run -d -P gateway
Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed
重要と思われる追加情報(たとえば、問題が発生するのはたまにしかありません):
docker info
が示すように、データスペースはしきい値100Gまで引き上げられました。docker rm -f $(docker ps -a -q)
を使用してコンテナを削除したとき。 すべてのコンテナが削除されましたが、以下のエラーが報告されました。Error response from daemon: Cannot destroy container 5d5eed10468b: Driver devicemapper failed to remove root filesystem 5d5eed10468b809475b0eb23bda167e1a962d32092a348936d56e27417dbf578: Error running DeleteDevice dm_task_run failed
docker ps -a
を使用して、手順2を実行した後にすべてのコンテナーが削除されたことを確認しました。cmdの結果は空です。 しかし、NONE画像を削除するとエラーが発生します(以下)[root@IP-5-14 devicemapper]# docker rmi 6fdebd7b0eb5
Error response from daemon: Conflict, cannot delete because 6fdebd7b0eb5 is held by an ongoing pull or build
Error: failed to remove images: [6fdebd7b0eb5]
誰かが私に恩恵を与えることができますか? ありがとう
コンテナに許可されるプールを増やす必要があります。 これを行うには、var / lib / dockerを削除する必要があります。これにより、すべてのコンテナーとイメージが破壊されます。
sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
これにより、データスペースが300GB使用されます
これで問題は解決しますか? また、Dockerプロセスを停止し、Dockerを再起動して、イメージを削除できるかどうかを確認してください
スペースが不足しているDevicemapperは、実際には非常に注意が必要です。 https://github.com/docker/docker/issues/20272でこれに関する問題を追跡しています。
Docker 1.11の場合、保持する空き領域の最小量を指定する新しいオプションがあり、この状況に到達するのを防ぎます。 https://github.com/docker/docker/pull/20786を参照してください
これはバグではなく、サポートの質問だと思うので、この問題を閉じますが、ここで議論を続けてください。
わかった。 ありがとう。 Docker1.11の新機能を期待する
最も参考になるコメント
コンテナに許可されるプールを増やす必要があります。 これを行うには、var / lib / dockerを削除する必要があります。これにより、すべてのコンテナーとイメージが破壊されます。
sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
これにより、データスペースが300GB使用されます
これで問題は解決しますか? また、Dockerプロセスを停止し、Dockerを再起動して、イメージを削除できるかどうかを確認してください