web-dev-qa-db-ja.com

Dockerと画像サイズの制限

私はここや他のウェブサイトでこの問題についてたくさん読んでいますが、デフォルトで10GBに設定されている画像サイズの制限を増やす方法について適切な解決策を見つけることができませんでした。

少し背景情報。

Dockerコンテナを構築しています: https://bitbucket.org/efestolab/docker-buildgaffer

CentOSイメージの上に一貫したライブラリのセットをダウンロードして構築します。 (構築するのに恐ろしい時間とスペースがかかります)

問題は、ビルドしようとするたびにこのエラーが発生することです。

No space left on device

Dockerバージョン:

Docker version 1.7.1, build 786b29d

Docker情報:

Containers: 1
Images: 76
Storage Driver: devicemapper
Pool Name: docker-8:7-12845059-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 11.28 GB
Data Space Total: 107.4 GB
Data Space Available: 96.1 GB
Metadata Space Used: 10.51 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.137 GB
Udev Sync Supported: false
Deferred Removal Enabled: false
Data loop file: /home/_varlibdockerfiles/devicemapper/devicemapper/data
Metadata loop file: /home/_varlibdockerfiles/devicemapper/devicemapper/metadata
Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.15.9-031509-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 8
Total Memory: 15.58 GiB
Name: hdd-XPS-15-9530
ID: 2MEF:IYLS:MCN5:AR5O:6IXJ:3OB3:DGJE:ZC4N:YWFD:7AAB:EQ73:LKXQ
Username: efesto
Registry: https://index.docker.io/v1/
WARNING: No swap limit support

サービスを停止して/ var/lib/dockerフォルダーを削除した後、docker起動スクリプトで更新しています

/lib/systemd/system/docker.service

これらのフラグで:

ExecStart=/usr/bin/docker -d --storage-opt dm.basesize=20G --storage-opt dm.loopdatasize=256G -H fd:// $DOCKER_OPTS

dockerサービスを再起動しましたが、同じエラーで失敗します。

私はまた、私が依存している元のイメージ(centos:6)が原因である可能性があることを読んでいます。これは、10GBの制限で構築されている可能性があります。

そこで、centos6イメージを再構築し、それをベースとして使用しましたが、同じエラーが発生しました。

このDockerイメージを完全に構築できるようにする信頼できる方法はありますか?

他に役立つ情報がありましたら、お気軽にお問い合わせください。

返信や提案をありがとう! L。

8
hdd

@ user2915097のテストのおかげで、カーネルバージョン3.16.0を更新し、カーネルエクストラをインストールし、dockerを削除して再インストールしました。この問題はdevicemapperで対処できるようですが、dockerコマンドを変更する必要はありません。

Containers: 0
Images: 94
Storage Driver: aufs
 Root Dir: /home/_varlibdockerfiles/aufs
 Backing Filesystem: extfs
 Dirs: 94
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-45-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 8
Total Memory: 15.58 GiB
Name: hdd-XPS-15-9530
ID: 2MEF:IYLS:MCN5:AR5O:6IXJ:3OB3:DGJE:ZC4N:YWFD:7AAB:EQ73:LKXQ
Username: efesto
Registry: https://index.docker.io/v1/
WARNING: No swap limit support

そして最終的に10GBを超えるイメージを構築します。 L。

2
hdd

dockerデーモンの起動パラメータを変更した後、次の手順を実行します

systemctl daemon-reload
systemctl stop docker
rm -rf /var/lib/docker *
systemctl start docker

これにより、すべての画像が削除されます。必ず前に保存してください

例:docker save -o something.tar.gz image_name

dockerを起動した後にそれらをリロードします

例:docker load -i something.tar.gz

0