>>306
Dockerの中で動かしつつアプリを開発するのはやめたほうがいいよ。
デバッグ用のツールなど使いづらくなって、単に面倒になるだけ。
Docker使わずに作られたアプリ。それを動かす環境を作る時に
Dockerを使うってだけにした方がいい。

もう少し詳細に説明すると、まずWindows(boot2docker)で考えるとややこしくなるので、
ホストOSにLinuxを使っていると仮定する。

開発はDockerを使わない。IDEはLinuxにインストールする。
これだと何も複雑なことはないよね?これをメインの開発環境とする方がいい。

開発時にはDockerを使わないといったけど、テストを実行すときとか実機でDockerを使うとして、
リリース時とできるだけ同じ状態にしたいとかDockerの中だけで発生する問題とか、
開発時にDockerを使いたい時もある。

そういう時は、ソースコードのディレクトリをData volume(dockerの-vオプション)で
コンテナ内にマウントする。ビルドが必要な物(scssからcssへの変換等)は
Dockerの外でビルドしてそのディレクトリをマウントする。

ただしビルドで生成するものがバイナリ実行ファイル等の場合は、ホストOSとDockerコンテナで
使うOSが違いすぎると動かない可能性があるので、Dockerコンテナでビルドする必要がある。
本来Dockerコンテナにはビルドツール等は入れるものではない。本来はビルドするときは
>>300で書いたようにビルドツールを入れてビルドしてビルドツールを消すことになる。

apt用のキャッシュプロキシでパッケージのダウンロードは避けられるとはいえ、
ビルドのたびにパッケージのインストールとか時間的にやってなれないので、
(実行用のDockerイメージとは別の)ビルドをするためのDockerイメージを作る必要がある。

な? Dockerを開発時に使うことは出来なくはないし、テスト実行のために出来たほうがいいんだけど
面倒で手間がかかる。だから通常の開発はホストOSでやった方がいいんだ。
ホストOSがWindowsの場合は、vagrantで作ったLinuxで開発するのをおすすめする。