

CentOS7を使っています。

ホストサーバから

> /mnt/test1 -> 192.168.1.101:/hdd01  
>  /mnt/test2 -> 192.168.1.102:/hdd01  
>  /mnt/test3 -> 192.168.1.103:/hdd01

でNFSマウントをしています。

ホスト側で

[code]

    $ more /etc/auto.master
    /mnt /etc/auto.var    bg,intr --timeout=120 --ghost
    $ more /etc/auto.var_dtv
    test1 -rw 192.168.1.101:/hdd01
    test2 -rw 192.168.1.102:/hdd01
    test3 -rw 192.168.1.103:/hdd01
    
[/code]

というautofsの設定を行なっていてマウントはもちろんのことアクセスができるようになっています。

以下のようなdockerを作成しました。

[code]

    sudo docker run -d --restart=always --privileged --name test -h test -v /mnt/:/mnt/ docker.io/centos /sbin/init
    sudo docker exec -it test bash
    
[/code]

でコンテナの中に入り

[code]

    $ cd /mnt
    $ ls
    test1 test2 test3
    
[/code]

という状況ですが、

[code]

    $ cd test1
    bash: cd: test1: Too many levels of symbolic links
    
[/code]

というエラーが発生します。

マウント先の192.168.1.101:/hdd01配下にはそれぞれcontentsというディレクトリがあります。

[code]

    sudo docker run -d --restart=always --privileged --name test -h test -v /mnt/test1/contents/:/mnt/test1/contents/ -v /mnt/test2/contents/:/mnt/test2/contents/ -v /mnt/test3/contents/:/mnt/test3/contents/ docker.io/centos /sbin/init
    
[/code]

とすればコンテナーの中に入って

[code]

    $ ls /mnt/test1
    
[/code]

で中身を見ることができます。

しかし、今後マウント先が増えることを考えるとその都度dockerを再構成する必要があり、それは避けたいと思っています。  
ホスト側でautofsを使ったものが再起動しなくてもコンテナー内で使用（マウント）できるようにするにはどうしたらいいのでしょうか？

ご存知の方、ご教示お願いします。


CC BY-SA 3.0
2017-04-13T09:09:40.990
33983
2017-04-13T09:09:40.990
8593
question
docker
dockerコンテナからホストのautofsでマウント場所にアクセスできない