DELAEMON BLOG

Live as if you were to die tomorrow. Learn as if you were to live forever.

Dockerコンテナ上のファイルをIntelliJから編集

共有ボリューム用コンテナ作って、samba用コンテナで共有、ローカルPCと開発サーバ用コンテナから参照、編集、実行する

対象バージョン

Mac OS X 10.10.3
IntelliJ 14.1.3
VirtualBox 4.3.28
Docker 1.6.2
boot2docker 1.6.2

手順

共有ボリューム用コンテナ作成

docker run -v /mnt/sda1/data:/data --name my-data busybox true

samba起動

docker run --rm -v /usr/local/bin/docker:/docker -v /var/run/docker.sock:/docker.sock svendowideit/samba my-data

ターミナルに接続方法が表示される
OS XはFinder->移動->サーバ接続->cifs://192.168.59.103
ゲストで接続できる

開発サーバのコンテナを起動して確認

docker run -it --rm --volumes-from my-data centos /bin/bash
ls -la /data

プロジェクト用のディレクトリ作ってIntelliJからファイル作れるように権限あげとく

mkdir /data/projectDir
chmod 777 /data/projectDir

あとはIntelliJでプロジェクトで使うSDKの登録や、リモートデバッグの設定をよしなにやればOK
ローカルPC上のファイルいじるよりは反映にタイムラグがあったり、
Runでフリーズ、クラッシュはたまにする
Golangならクロスコンパイルすればいいだけなので、わざわざDocker上で開発しなくていい