例えば、bootstrap.sh
をエントリポイントとして用意していて
1 | /path/to/project/ |
Dockerfileはこんな感じ(Rails)
1 | FROM ruby:2.5 |
で、docker-compose.yml
を例えば次のようにした場合
1 | version: '2' |
volumesに記載している、/bootstrap.sh
には、「bootstrap.sh」という名前のディレクトリが作成される
1 | version: '2' |
相対パスにあるファイルをマウントするには、このように${PWD}を使用するなりして絶対パスでvolumesの指定を行う
補足
compose format version 3 では相対パスでも問題なかったので、対策がされたのかもしれない
参考:How to mount a single file in a volume
補足(の追記:2018-07-02)
docker-composeで次のようにする場合
1 | $ docker-compose -f /path/to/AAA/docker-compose.yml -f /path/to/BBB/docker-compose.yml up -d |
この時、相対パスで読み込み指定を行っていると、どちらかのymlファイル(おそらく最後に読んだほう。上記では「/path/to/BBB」)のディレクトリがベースとなり実行されるため、期待通りの結果にならない現象に遭遇した。
なので結果的に、どのようなケースでも絶対パスで書く癖をつけとくほうが無難な気がした