Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2150117 infrastructure.nagoya

1,840 views

Published on

Docker

Published in: Technology
  • Be the first to comment

  • Be the first to like this

2150117 infrastructure.nagoya

  1. 1. Infrastructure.nagoya ~Dockerで、何をする?~ 2015年 1月17日(土) Windows で Docker, Docker コンテナで go lang をビルドしよう!
  2. 2. 自己紹介 • 伊東 宏起 (@_nihi) • 現在学生ニートです • 来栖川電算にいました • 4月からさくらインターネットにいます
  3. 3. 今日の目標 前半戦 Windows で docker コマンドを使えるようにする 後半戦 Docker を使って go lang のビルド環境を作る
  4. 4. Windows で Docker
  5. 5. 詳しくは Qiita で! http://qiita.com/hekki/items/68099c04f81f102b19c5
  6. 6. Docker コンテナで go lang をビルドしよう
  7. 7. なんで Docker ? • ホストにビルド環境を作りたくない コンテナ上に独立したビルド環境が手に入る • VM にビルド環境作れば良くない? VM よりもコンパクトで、尚且つ高速な ビルド環境が手に入る • コンパイラの複数バージョンの同居も簡単 各バージョンのビルド環境が入ったコンテナを 利用するだけ! goenv や rubyenv はもういらない!(かも)
  8. 8. コンテナは自前で作るの? • Docker Hub にリポジトリがある c/c++(gcc), go lang, ruby, rails, java など 多数の言語がサポートされている • 公式リポジトリなので安心・安全 今話題の異物混入もありません!
  9. 9. 使ってみよう • 今回は go lang をビルドしてみます https://registry.hub.docker.com/_/golang/ • どう使うの? docker run --rm –v "$(pwd)":/usr/src/myapp -w /usr/src/myapp golang:1.4.0 go build –v • でも、このままでは上手く動かなかった
  10. 10. なんとかしてみる • 原因 外部ライブラリの依存解決が出来ていない 何故出来ていないのかまでは分かりませんでした • 対策 docker run --rm –v “$(pwd)”:/usr/src/myapp -w /usr/src/myapp golang:1.4.0 bash -c ‘go get -d ./... && go build -v‘ go get コマンドで依存関係の解決をしてから ビルドするように変更しています
  11. 11. クロスコンパイル • 64bit 版 Windows 用バイナリをビルド docker run --rm –v "$(pwd)":/usr/src/myapp -w /usr/src/myapp -e GOOS=windows -e GOARCH=amd64 golang:1.4.0-cross bash -c 'go get -d ./... && go build -v‘
  12. 12. おわり

×