19

Docker で新しいコンテナを作成して実行することはもうできません。ただし、同時に、以前に作成したコンテナーを実行できます。

私がこのようなことをしようとすると:

[user@host ~ ] docker run --name=fpm-5.3 debian:jessie
2014/07/12 07:34:08 Error: Error running DeviceCreate (createSnapDevice) dm_task_run failed

docker.logから:

2014/07/12 05:57:11 POST /v1.12/containers/create?name=fpm-5.3
[f56fcb6f] +job create(fpm-5.3)
Error running DeviceCreate (createSnapDevice) dm_task_run failed
[f56fcb6f] -job create(fpm-5.3) = ERR (1)
[error] server.go:1025 Error: Error running DeviceCreate (createSnapDevice) dm_task_run failed
[error] server.go:90 HTTP Error: statusCode=500 Error running DeviceCreate (createSnapDevice) dm_task_run failed

dmsetup ステータス

docker-8:1-1210426-pool: 0 209715200 thin-pool 352 2510/524288 205173/1638400 - ro discard_passdown queue_if_no_space 

しかし、それらはディスク上の多くの空き容量です。

dmセットアップ情報

Name:              docker-8:1-1210426-pool
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        1
Event number:      1
Major, minor:      252, 0
Number of targets: 1

ドッカー情報

Containers: 4
Images: 65
Storage Driver: devicemapper
 Pool Name: docker-8:1-1210426-pool
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 12823.3 Mb
 Data Space Total: 102400.0 Mb
 Metadata Space Used: 9.9 Mb
 Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.2
Kernel Version: 3.14.4

ドッカーのバージョン

Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.2
Git commit (client): 63fe64c
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.2
Git commit (server): 63fe64c
4

5 に答える 5

42

以下は Fedora/RHEL システム用なので、Debian 用に調整する必要があります...

# systemctl stop docker.service
# thin_check /var/lib/docker/devicemapper/devicemapper/metadata

エラーがない場合は、次の手順に進みます。

# thin_check --clear-needs-check-flag /var/lib/docker/devicemapper/devicemapper/metadata
# systemctl start docker.service
# docker run --name=fpm-5.3 debian:jessie

コマンドをインストールするthin_checkには、次を実行します。

# apt-get install -y thin-provisioning-tools
于 2014-07-21T14:44:54.720 に答える
8

docker パーティションがいっぱいになり、再起動後に docker が起動しなくなったとき、次のような問題が発生しました。

# thin_check /var/lib/docker/devicemapper/devicemapper/metadata
examining superblock
examining devices tree
  missing devices: [0, -]
    bad checksum in btree node
examining mapping tree
  thin device 72 is missing mappings [137494, 137594]
    bad checksum in btree node
  thin device 72 is missing mappings [137721, -]
    bad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree nodebad checksum in btree node

この手順で修復できました:

# thin_dump -r /var/lib/docker/devicemapper/devicemapper/metadata -o /tmp/metadata.xml
# thin_restore -i /tmp/metadata.xml -o /var/lib/docker/devicemapper/devicemapper/metadata
于 2014-09-26T13:13:53.900 に答える
1

私は同じ問題を抱えていて、それを修正できませんでした。http://grokbase.com/t/gg/docker-user/1563fzdtm7/docker-docker-runs-out-of-space-when-trying-to-create-a-new-imageで有望なものを見つけました 。デフォルトの docker ストレージ ドライバーは、イメージに 10 GB のストレージ ブロックを割り当てます。overlayfs に移行し、これを完全に回避します。docker デーモンを開始するコマンドで、「-s overlay」を追加するだけです。

これで問題が解決しました。

于 2015-10-05T12:16:59.240 に答える