1. ホーム
  2. docker

[解決済み] dockerコンテナでホストディレクトリをシンボリックリンクでマウントする

2022-05-15 22:28:13

質問

このパラメータでコンテナをマウントしました。

-v /home/test/:/home/test

ホストの /home/test 内には、/mnt/ フォルダを指すシンボリック リンクがあります。

しかし、そのリンクは、どこを指しているかは確認できますが、コンテナー内部では壊れているようです。

root@f93f72b45013:/var/www/html# cd /home/test/ 
root@f93f72b45013:/home/test# ls -lrt 
total 11956 
lrwxrwxrwx. 1 root root 40 Jul 20 15:55 file -> /mnt/mountedfile/
root@f93f72b45013:/home/test# ls -lrt file/*
ls: cannot access file/*: No such file or directory

そんなことがdockerでできるのか?方法があるのかどうか、よくわかりません。

シンボリックリンクの指す先を直接マウントすればいいのは分かっているのですが、可能なのかどうかが気になります。

どのように解決するのですか?

Symlinkはdockerの内部で大きな課題となっています。 あなたの場合、両方のディレクトリをマウントすることができます。

-v /home/test/:/home/test -v /mnt/mountedfile:/mnt/mountedfile

シンボリックリンクがコンテナの内側と外側の両方で機能するためには、絶対パスであり、まったく同じ名前を使用しなければなりません。

一般的に、シンボリックリンクはdockerの内部では動作しません。 私はこれを苦労して見つけました。