すべての Docker コンテナーは、10 GB のディスク容量で構成されます。これは、CentOS の devicemapper の既定の構成です。では、新しく作成されたすべてのコンテナをデフォルトで 10 GB を超えるディスク領域で構成するにはどうすればよいでしょうか? (ホスト サーバーには CentOS 6 と Docker 1.7.1 がインストールされています)
4 に答える
はい、できます。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"
ドッカーデーモンを再起動します
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) 変更が適用されるように現在のイメージを更新することが重要