やりたいこと
C#の開発をLinux(Ubuntu)でやりたいと思ったのがきっかけ。
絶賛docker勉強中なので、docker使ってやってみようと思い挑戦しました。
前提
dockerおよびgitがインストールされていること
実験環境
ホストOS:Ubuntu 16.04
成果物
工夫した点
(そんなに大したことないですが)コンパイルはmcs
, 実行はmono
と別コマンドになるので、シェルでいずれかのコマンドを実行するようにした点くらいです。
dockerのビルド
$ git clone https://github.com/komorin0521/mono_docker
$ cd mono_docker
$ docker build -t mono_docker .
実行例
1. compile
$ docker run -it --rm -v $PWD:$PWD mono_docker mcs $PWD/example/hello.cs
mcs /tmp/mono_docker/example/hello.cs
Success compilation!
2. run
$ docker run -it --rm -v $PWD:$PWD mono_docker mono $PWD/example/hello.exe
mono /tmp/mono_docker/example/hello.exe
Hello Mono World
推奨
mcsとmonoのaliasを${HOME}/.bashrc
などに追記すること
alias mcs='docker run -it --rm -v $PWD:$PWD mono_docker mcs'
alias mono='docker run -it --rm -v $PWD:$PWD mono_docker mono'
改善点
前回の記事でもそうであるが、いちいち対象ファイルを指定するときに$PWD/targetfile
と絶対パスで指定しないとファイルが見つからないというエラーが発生してしまうが、$PWD
を忘れがち...
解決方法を見つけてアップデートしたい