ローカルで編集したファイルをDockerコンテナに反映させる
Dockerを使った開発を行う時に、直接コンテナにログインして中のファイルを編集するのでは無く、ローカルでファイルを編集して、それをコンテナに反映したい。
これを実現するためには、 docker run
を実行するタイミングで -v
オプションを指定する。
以下の様にホスト側のパスとコンテナ側のパスを指定する。
$ docker run -v <host_path>:<container_path> -t ubuntu /bin/bash
-v <host_path>:<container_path>
オプション
-v <host_path>:<container_path>
オプションを指定すると、 ホスト側のパスをコンテナ側のパスにマウントして起動する ことが出来る。データの実態はホスト側にあって、それをコンテナが参照している感じ。 ホスト側の変更を逐一scpで送信するような事はしていない。
メリット
IDEを使って開発を行いたい時に便利。vagrantでいうsynced_folderのように扱える。
ハマった所
-v
オプションを最後に持ってくると失敗した。最後に指定するとダメらしい。