2014-01-18 10 views
7

dokku-persistent-storageを使用しようとしていますので、レールアプリのアップロードはサーバーに残りますが、私はDokkuを初めて使用しているため、 Dockerdokku-persistent-storageの音量を設定する方法

[SERVER IP ADDRESS]/home/dokku/myapp/public_folder 

または

/home/dokku/myapp/public_folder 
:それはこのようなものになるかどう


(私はデジタル海洋上のUbuntuの液滴でこれを実行している)私はわかりません

もし私が道を離れると、それはまったく違うものでなければなりません。


これはgithubのセクションはそれについてこう言われる、あなたのアプリケーションのフォルダに

(/ホーム/ dokku/APP_NAME)PERSISTENT_STORAGEというファイルを作成します。

このファイルの内部には、マウントする行ごとに1つのボリュームマップ/ボリュームが1つリストされます。たとえば:

​​

上記の例では、デプロイおよびドッキングウィンドウの実行中にドッキングウィンドウに渡されて、次の引数になります:ドッキングウィンドウのボリューム上の

-v /host/path:/container/path -v /another/container/path 

移動情報はここで見つけることができます:http://docs.docker.io/en/latest/use/working_with_volumes/

+0

引用した例は、「データボリューム」の例です。これらのボリュームは、物理的には '/ var/lib/docker/vfs/dir'の下にあります。どのフォルダが実行中のコンテナのルートであるか知るには、 'docker inspect | 'less'を検索し、' Volume'行を検索します。そこに正確なパスがあります。それは役に立ちましたか?もしそうなら、私は質問に適切に答えることができます。 –

+0

また、Dockerホストの正確なパスを選択したい場合は、ホストマウントの構文が必要な場合があります。次に、ホストとコンテナのパスは「空き」です---それらが存在することを確認してください。コンテナのパスはコンテナのルートからの相対パスであることに注意してください。したがって、 '/ container/path'は'/'で始まっていてもコンテナに根を張っています。 –

+0

間違い: '/ var/lib/docker/volumes'に'/var/lib/docker/vfs/dir'を置き換えてください。 –

答えて

0

私はRubyやDokkuには入っていませんが、正しく理解していれば、ドッカーにホストマシン上に永続的な記憶域を持たせたいと思っています。

PERSISTENT_STORAGEファイルには、引用符で囲んだドキュメントに関して、ホストファイルシステムディレクトリからコンテナファイルシステムディレクトリ(CLIの-v引数に変換)へのマッピングが含まれています。

したがって、コンテナ内のアップロードディレクトリをホスト上の目的のディレクトリにマップする必要があります。

たとえば、あなたのアプリのアップロードは、(ドッキングウィンドウコンテナ内で)このディレクトリに保存されている場合:

/home/some/dir 
:であなたのホストに保持されるように

/home/dokku/myapp/public_folder 

、あなたがそれらを好きだろう

はその後、私は理解して、PERSISTENT_STORAGEファイルの内容は次のようになります。

/home/some/dir:/home/dokku/myapp/public_folder 

私は右のあなたを得たいと考えています。

0

オプションのDokku storage:mountを使用してください。

  1. あなたのdokkuホストにSSHする必要があります

    storage:mount <app> /var/lib/dokku/data/storage:/app/public/uploads:例えば、app/public/uploadsフォルダにそのアプリケーションのための格納ディレクトリをリンクする ssh [email protected]

  2. 次のコマンドを実行します。

ドク書類はこの井戸でカバーしています:http://dokku.viewdocs.io/dokku/advanced-usage/persistent-storage/