2016-05-23 9 views
1

私はorientdbを使ってグラフデータベースを設定しようとしています。そこで、次のコマンドでボリュームを使用しようとしました。Ubuntu 14.04ディスクがドッカーのデータのためにいっぱいです

docker run -d -p 2424:2424 -p 2480:2480  -v config:/orientdb/config  -v database:/orientdb/databases  -v backup:/orientdb/backup  -e ORIENTDB_ROOT_PASSWORD=mypasswdhere  orientdb:latest 

ボリュームを使用する主な目的は、コンテナを削除した後にデータをデータベースに格納することでした。
しかし、このコマンドを頻繁に使用してサーバーを起動しました。

これでディスク容量が大きくなり、このコマンドが実行されるたびに新しいコピーが作成されるようです。

既存のボリュームを使用してドッカーに保存されたデータを使用し、このコマンドを頻繁に実行して再作成した冗長データをクリーンアップする正しい方法を示すことはできますか?あなたはdocker volume create

$ docker volume create --name hello 
$ docker run -d -v hello:/world busybox ls /world 

とその方法をという名前ボリュームを作成することができます

+0

コンテナ、イメージ、ボリュームのクリーンアップコマンドがあります。 – YOU

答えて

2

、1つのボリュームのみでは/ var/libに/ドッキングウィンドウ/ボリュームは、あなたがそのコンテナを起動するたびに使用されます。
Mount a shared-storage volume as a data volume」も参照してください。 remove dangling volumesに一方

、:

docker volume ls -qf "dangling=true" | xargs docker volume rm 
+0

私は、新しいボリュームを追加するために 'docker volume create --name hello'のようなコマンドを使ったことは一度もなかったことを指摘したいと思いますが、私は直接' docker run -d -p 2424:2424 -p 2480:2480 -v config:/ orientdb/config -vデータベース:/ orientdb/databases -vバックアップ:/ orientdb/backup -e ORIENTDB_ROOT_PASSWORD = mypasswdhere orientdb:latest '実行する'docker volume ls'コマンドを実行すると、 'config'、 'backup'、データベース(私が与えたもの)を除いて英数字のボリューム名が多く表示されるので、毎回データベースが問題になります。問題ありますか? –

+0

@Abhimanyuの場合、ローカルホストフォルダ "config"を/ orientdb/configにマウントします。名前付きボリュームを作成し、そのボリュームをマウントすることをお勧めします。 – VonC

+0

@Abhimanyu名前の付いたボリュームを作成すると、コンテナの作成方法や再利用方法にかかわらず、そのボリュームを再利用できると私は考えています。言い換えれば、あなたは当初正しい答えを選んだ;) – VonC

1

は、私の知る限り理解し、あなたの代わりに、コンテナを再使用していないあなたは新しいものを毎回起動します。 最初の実行後、停止して、docker stop/startコマンドで再起動できます。

+0

ええ、私はあなたが今は永遠になるまで同じコンテナで作業するためにスタートとストップを使うと思う。 –

関連する問題