2017-12-16 27 views
0

私はいくつかのmergerfsとサンバで、NASをdockerisedセットアップしようとしている:コンポジットコンテナ間でボリュームを共有し、そのうちの1つはファイルシステムを提供しますか?

services: 

    mergerfs: 
    build: ./mergerfs # just debian and install latest release 
    cap_add: 
     - SYS_ADMIN 
    devices: 
     - /dev/fuse:/dev/fuse 
    volumes: 
     - media:/mnt/pool 
     - /mnt/data0:/mnt/data0 
     ... 
    ... 

    samba: 
    image: dperson/samba 
    command: -s'media;/srv/media;yes;no;yes' # guest allowed, not RO 
    volumes: 
     - media:/srv/media 
    depends_on: 
     - mergerfs 
    ... 

volumes: 
    media: 

問題は、私はsamba/srv/mediaへ/書き込みを読むことができる一方で、それはmergerfs/mnt/poolに介して取得しない、ということです。

(ログには何も表示されませんどのdocker-compose exec samba sh -c "echo 'foobar' > /srv/media/test.txt"をしながら、私はをしているexec mergerfs同等の対、docker-compose logs mergerfsを見て、これを見ることができます。)

どのように私はこの名前のボリュームmediaがための単なる「プロキシ」であることができます実際のファイルシステムはmergerfsサービスによって提供されていますか?

答えて

0

答えはbind propagationです。コンテナによって構成されるマウントがに戻って伝播されることを意味する - 特に

は、ここでは(再帰的)に設定することができるように、必要mediaは、type:volumeではなく(rsharedバインド伝播type:bindことがmergerfsザ・ホスト。

つまり、media:/mnt/pool/mnt/media:/mnt/pool:rsharedになります。

関連する問題