envconsulをDocker上でビルドする
envconsulはまだバイナリでダウンロードすることができないようで、自分でビルドする必要がある。go getでさくっと取ってこれる環境であればいいのだが、そうでないときはバイナリを作る必要がある。CentOSで使いたいんだけど、golangが入ってる環境MacOSXしかないし、ってとき、まあお察しのとおりVagrantかDockerを使えばいい。
ということで、Dockerfile書いてみた。
yumでgolangとgit入れて、go getしてbuildしてるだけ。ホストOSの環境を変更しないのがいいね。
CMD ["cp", "envconsul", "/target"]
この部分でバイナリを/target
へコピーしているのだが、以下のようにするとホストの/tmp
へコピーすることになる。
docker build -t envconsul.build .
docker run -v /tmp:/target envconsul.build
あとはできたバイナリをCentOSへscpなりで持っていけばいい。
MacOSXだとboot2docker使ってるだろうから、その場合VMからscpしてやる。
$ boot2docker config | egrep 'SSHPort|SSHKey'
SSHKey = "/Users/<yourname>/.ssh/id_boot2docker"
SSHPort = 2022
$ scp -P 2022 -i ~/.ssh/id_boot2docker docker@localhost:/tmp/envconsul
envconsul 100% 8304KB 8.1MB/s 00:01