Dockerを使用したり、新しいイメージを効果的に実行したりできなくなりました。ディスク使用量が100%であると報告されています。ここで、私がubuntuの元のコピーを起動していることがわかりますが、ディスク容量が残っていないことがわかります。
$ docker run -t -i ubuntu /bin/bash
root@3838b70bd76e:/# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 19G 18G 0 100% /
none 19G 18G 0 100% /
tmpfs 1005M 0 1005M 0% /dev
shm 64M 0 64M 0% /dev/shm
/dev/sda1 19G 18G 0 100% /etc/hosts
tmpfs 1005M 0 1005M 0% /proc/kcore
これとは別に、mysqlインスタンスを起動しようとしていますが、使用可能なディスクがないという事実に関連していると思われるエラーメッセージが表示されます。 orchardup/mysqlを実行しようとすると、次のようになります。
ERROR: 1030 Got error 28 from storage engine
これは、ストレージスペースが不足していることを意味します。
これを考えると、上記のdf -hレポートをどのように解釈する必要があり、ディスクを100%消費しているものを特定するにはどうすればよいですか? boot2dockerを使用して、OSX10.9.4で実行されているdocker1.3を実行しています。
ありがとう。
編集:回避策として、boot2docker delete
、次にboot2docker init
を実行しましたが、すべての画像が破棄されたようです(幸い、 dockerfiles で再構築できます) 。さて、私が新しいubuntu画像を始めるとき:
root@f53d637e3d33:/# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 19G 373M 17G 3% /
none 19G 373M 17G 3% /
tmpfs 1005M 0 1005M 0% /dev
shm 64M 0 64M 0% /dev/shm
/dev/sda1 19G 373M 17G 3% /etc/hosts
tmpfs 1005M 0 1005M 0% /proc/kcore
良くなったね。しかし、私はまだ混乱しています。以前にいっぱいになったboot2dockerによってホストされているすべてのイメージに、ある種の共有グローバルディスクが存在する必要がありますか?
編集2:たくさんの画像をダウンロードしました。これが、ubuntu画像を実行してディスクの空き容量を確認したときに表示されるものです。
root@f53d637e3d33:/# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 19G 2.7G 15G 16% /
none 19G 2.7G 15G 16% /
tmpfs 1005M 0 1005M 0% /dev
shm 64M 0 64M 0% /dev/shm
/dev/sda1 19G 2.7G 15G 16% /etc/hosts
tmpfs 1005M 0 1005M 0% /proc/kcore
3%から16%が消費されました!明らかに、私のすべての画像の間に、私が理解していないある種の共有ディスクがあります...
Windowsホストでは、boot2dockerは、仮想ボックスを使用して仮想マシンを作成することで機能します。 boot2docker initを実行すると、仮想マシンが作成され、デフォルトでルートディスクに20Gが割り当てられます。この仮想マシンは最小限のLinuxOSを実行し、それが実際のdockerデーモンを実行します(dockerデーモンはWindows上でネイティブに実行されません-まだ)。
仮想マシンに接続されたディスクは、Dockerイメージのストレージを提供します。したがって、boot2docker initコマンドの追加オプションを調べて、初期ディスクサイズを増やすことができます。これにより、仮想マシンで使用できるディスクサイズが増加しますが、Queasyが指摘したように、イメージに使用できるストレージを増やすには、dockerデーモンにオプションを追加する必要があります。
コンテナで「df-h」を実行すると、報告される合計ディスクサイズは、「dm.basesize」オプションを使用してdockerデーモンに割り当てられたディスクスペースのサイズになります。
注:boot2dockerは非推奨になり、DockerToolboxが採用されました。そのバージョンにアップグレードすることをお勧めします。その場合は、「boot2dockerinit」の代わりに「docker-machinecreate」を使用します。 docker-toolboxに切り替えたため、boot2dockerinitに必要なコマンドオプションをテストできません
/ etc/sysconfig/docker-storageのdocker構成を変更し、次の行を追加します。
DOCKER_STORAGE_OPTIONS= --storage-opt dm.basesize=30G
初期化するとデータが削除されるため、このタスクを続行する前にDockerをバックアップすることを忘れないでください。
Devicemapperは、dockerのデフォルトのストレージエンジンです。デフォルトでは、/ var/lib/dockerに100Gbを事前に割り当てようとします。ただし、このスペースのすべてが実際に使用されるわけではなく、オプションで構成できます。 Dockerドキュメント
ドライブが不良である可能性があることを考慮してください。 Hitachi(Drive Fitness Test)、Seagate(Seatools)、およびWestern Digital(Western Digital Data Lifeguard)はすべて、これを判断するのに役立つ無料の診断ソフトウェアを提供しています。
不良ドライブがディスク容量を台無しにする方法の例として、Windowsにまだデータが残っていることを報告する1TBドライブをバックアップしました[〜#〜]ペタバイト[〜#〜]データが残っています乗り換え。
ドライブに問題がない場合は、du(ディスク使用量)を使用して、どのフォルダーが大きいかを確認します。 du -h /usr/bin
、du -h /var
またはdu -h /home/[username]/Downloads
それを特定するのに役立ちます。
編集:OS Xを使用しているのを見ました:上記のHDDツールを起動可能なオプションとして、または無料のWindows PEのようなもので使用する必要があります。これらのツールを起動して、これらのツールを実行できます。