すべてのDockerコンテナーは、10 GBのディスク領域で構成されます。これは、CentOSでのデバイスマッパーのデフォルト構成です。では、新しく作成されたすべてのコンテナをデフォルトで10 GBを超えるディスク領域で構成するにはどうすればよいですか? (ホストサーバーはCentOS 6およびDocker 1.7.1と共にインストールされます)
はい、できます。使用 dm.basesize
属性は、Dockerデーモンの起動時に使用します。例えば:
docker daemon --storage-opt dm.basesize=50G ...
詳細は 公式ドキュメント にあります。
(オプション)すでに[docker pull
]経由で画像をダウンロードしている場合は、まずそれらをクリーンアップする必要があります-それ以外の場合、サイズは変更されません
docker rmi your_image_name
ストレージ構成を編集する
vi /etc/sysconfig/docker-storage
DOCKER_STORAGE_OPTIONS="..."
のようなものがあるはずです。それをDOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"
に変更してください
Dockerデーモンを再起動します
service docker restart
画像を引っ張る
docker pull your_image_name
(オプション)検証
docker run -i -t your_image_name /bin/bash
df -h
このリンクが見つかるまで、私はこれにかなり苦労していました http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/ 拡大した後、画像を削除/プルする必要があることがわかりましたベースサイズ。
上記の回答は、devicemapperのdm.basesize属性を編集する必要があることを適切に示唆していますが、提案されたソリューションは古くなっているか、私の場合は機能しません。
まず、ストレージdirverが以下のデバイスマッパーであることを確認します。
docker info | grep "Storage Driver"
コンテナの現在の最大サイズを確認することもできます:(デフォルトは10 GB)
docker info | grep "Base Device Size"
1)etc/docker/daemon.jsonファイルでdm.basesizeを編集するか、存在しない場合は新しいファイルを作成します
{
"storage-opts": [
"dm.basesize=30G"
]
}
2)Dockerデーモンを再起動します
Sudo systemctl stop docker
Sudo systemctl start docker
3)以下のコマンドを再度実行して、サイズが変更されたかどうかを確認します
docker info | grep "Base Device Size"
4)変更が適用されるように現在の画像を更新することが重要です