エンジニアになりたい

エンジニアです

ローカルで編集したファイルを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 オプションを最後に持ってくると失敗した。最後に指定するとダメらしい。