web-dev-qa-db-ja.com

Dockerコンテナのディスク使用量をサイズ変更する

すべてのDockerコンテナーは、10 GBのディスク領域で構成されます。これは、CentOSでのデバイスマッパーのデフォルト構成です。では、新しく作成されたすべてのコンテナをデフォルトで10 GBを超えるディスク領域で構成するにはどうすればよいですか? (ホストサーバーはCentOS 6およびDocker 1.7.1と共にインストールされます)

11
Xingjun Wang

はい、できます。使用 dm.basesize属性は、Dockerデーモンの起動時に使用します。例えば:

docker daemon --storage-opt dm.basesize=50G ...

詳細は 公式ドキュメント にあります。

7
johnharris85
  1. (オプション)すでに[docker pull]経由で画像をダウンロードしている場合は、まずそれらをクリーンアップする必要があります-それ以外の場合、サイズは変更されません

    docker rmi your_image_name

  2. ストレージ構成を編集する

    vi /etc/sysconfig/docker-storage

    DOCKER_STORAGE_OPTIONS="..."のようなものがあるはずです。それをDOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"に変更してください

  3. Dockerデーモンを再起動します

    service docker restart

  4. 画像を引っ張る

    docker pull your_image_name

  5. (オプション)検証

    docker run -i -t your_image_name /bin/bash

    df -h

このリンクが見つかるまで、私はこれにかなり苦労していました http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/ 拡大した後、画像を削除/プルする必要があることがわかりましたベースサイズ。

5
Ondrej Svejdar

上記の回答は、devicemapperのdm.basesize属性を編集する必要があることを適切に示唆していますが、提案されたソリューションは古くなっているか、私の場合は機能しません。

まず、ストレージdirverが以下のデバイスマッパーであることを確認します。

docker info | grep "Storage Driver"

コンテナの現在の最大サイズを確認することもできます:(デフォルトは10 GB)

docker info | grep "Base Device Size"

devicemapper documentation から

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)変更が適用されるように現在の画像を更新することが重要です

1
Phatee P