Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker x wercker

Docker x wercker

他社さんの社内勉強会に誘われたのでそこにて発表。
CircleCIを知らない方が多く、そこの説明からになったのでちょっとあせりました。

959960084f2086d7a875a30d2a428682?s=128

ハトネコエ

July 13, 2017
Tweet

Transcript

  1. ϋτωίΤ werckerから Dockerを使ってみよう @nekonenene

  2. ࣗݾ঺հ ハトネコエ • Twitter : @nekonenene • Github : nekonenene

    • Facebook : 本名 • Job : UUUM • ミクさんかわいい!!!!!!
  3. UUUMʁ YouTubeに投稿している
 動画クリエイターをサポートしています

  4. ̍ なぜDockerを使うのか?

  5. ͳͥDockerʁ • 環境の使い捨てが出来る
 (VirtualBoxなどと同じ利点) • VirtualBox(ホスト型)よりも速い • CircleCI 2.0 や

    wercker による
 標準サポート
  6. Docker͸ҙ֎ͱ؆୯ • 最小限で言うなら Dockerfile に
 FROM の行を書くだけでおしまい • docker build

    と docker run の
 コマンドだけ覚えとけば
 だいたいなんとかなる
  7. VirtualBoxΑΓ଎͍ʁ • 仮想化の方式には「ホスト型」「ハイ パーバイザー型」が今まであったが
 Dockerは「コンテナ型」にあたる。 • ユーザー空間のアプリケーションから
 OSの機能を呼び出すホスト型と異なり
 「コンテナ型」はOSカーネルをそのま ま用いる

  8. https://thinkit.co.jp/story/2014/12/02/5456 ΑΓ

  9. ̎ werckerで使ってみよう

  10. werckerͱ͸ • CircleCI みたいなものです。
 GitHub や Bitbucket に
 push すると自動で指定タスクを


    おこなってくれます • テストやデプロイなど時間のかかる ことを代わりにやらせます
  11. CIͱDocker͸૬ੑྑ͍ CI環境でテストコードを走らせるとき、
 本番環境とPHPバージョンが違うとか
 MySQLバージョンが違うとかでは、
 CIのテストが通るのに本番環境ではバグ が……ということになりかねません。 環境を揃えるためにDockerは便利です

  12. ٯʹݴ͏ͱ… • CircleCI 1.0 では選べる環境の
 選択肢が少なかったため、本番環境と
 異なる環境になる場合もあった • もちろん、本番と同環境になるよう
 PHPなどのバージョンをインストール

    する手段もあるがビルド時間が増す
  13. CircleCI 2.0, wercker • CircleCI 2.0 では
 Dockerを標準サポートするように • しかし、それより以前から


    標準サポートしていたwerckerと
 比べると、癖のある記法……
  14. ͋ͱ͸σϞʂ • ↓話したいこと一覧 • Dockerfileの作り方(with Alpine Linux) • DockerHubの説明 •

    werckerでのAndroidビルドの話 • werckerでは秘密の環境変数を登録できる話
  15. ̏ Dockerを実際に使ってみよう
 (デモの内容のいくらかを復習用に書きました)

  16. DockerΛΠϯετʔϧ • 以下のURLからDocker for Macを
 インストールします
 https://store.docker.com/editions/community/ docker-ce-desktop-mac • Docker

    Toolboxは現在公式としても
 非推奨ですので避けましょう
 https://docs.docker.com/toolbox/overview/
  17. Dockerfileͷ࡞Γํ • てきとーにフォルダを作ります • そこにDockerfileという名前の
 ファイルを用意します • 今回は alpine を入れてみましょう

    • Dockerfileの先頭に
 FROM alpine:latest と一行書きます
  18. docker build • Dockerfileのあるディレクトリで
 docker build -t alpine-test .
 とコマンドを入力すると、ビルドが始

    まります(最後のドットを忘れずに) • 最後のドットはDockerfileがあるディ レクトリを指定するもので、必要です
  19. docker run • docker build で作成したDockerイ メージの中に入ってみましょう。
 docker run -it

    alpine-test
 とコマンドを入力します • ここの中でコマンドを実行しつつ、
 Dockerfileを書き足してくといいです
  20. Dockerfileྫ • 今回のデモで作ったDockerfileは
 以下のようになりました。
 FROM alpine:latest
 
 RUN apk update

    && apk add \
 git
  21. ิ଍ • 今回は素早くデモをおこなうため
 Alpine Linux というDocker向けの
 とても軽量なLinuxディストリビュー ションを使いましたが、
 もちろんDockerHubには Ubuntu

    や
 CentOS のイメージがあります。
  22. Dockerfileৄࡉ • Dockerfileの書き方については
 公式サイトに日本語で説明が
 されていますので、そのページを
 読んだり、よりわかりやすく解説した
 記事を探すといいと思います。
 http://docs.docker.jp/engine/reference/ builder.html