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

Docker x wercker

Docker x wercker

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

ハトネコエ

July 13, 2017
Tweet

More Decks by ハトネコエ

Other Decks in Technology

Transcript

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

    View full-size slide

  2. ࣗݾ঺հ
    ハトネコエ
    • Twitter : @nekonenene
    • Github : nekonenene
    • Facebook : 本名
    • Job : UUUM
    • ミクさんかわいい!!!!!!

    View full-size slide

  3. UUUMʁ
    YouTubeに投稿している

    動画クリエイターをサポートしています

    View full-size slide

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

    View full-size slide

  5. ͳͥDockerʁ
    • 環境の使い捨てが出来る

    (VirtualBoxなどと同じ利点)
    • VirtualBox(ホスト型)よりも速い
    • CircleCI 2.0 や wercker による

    標準サポート

    View full-size slide

  6. Docker͸ҙ֎ͱ؆୯
    • 最小限で言うなら Dockerfile に

    FROM の行を書くだけでおしまい
    • docker build と docker run の

    コマンドだけ覚えとけば

    だいたいなんとかなる

    View full-size slide

  7. VirtualBoxΑΓ଎͍ʁ
    • 仮想化の方式には「ホスト型」「ハイ
    パーバイザー型」が今まであったが

    Dockerは「コンテナ型」にあたる。
    • ユーザー空間のアプリケーションから

    OSの機能を呼び出すホスト型と異なり

    「コンテナ型」はOSカーネルをそのま
    ま用いる

    View full-size slide

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

    View full-size slide

  9. ̎
    werckerで使ってみよう

    View full-size slide

  10. werckerͱ͸
    • CircleCI みたいなものです。

    GitHub や Bitbucket に

    push すると自動で指定タスクを

    おこなってくれます
    • テストやデプロイなど時間のかかる
    ことを代わりにやらせます

    View full-size slide

  11. CIͱDocker͸૬ੑྑ͍
    CI環境でテストコードを走らせるとき、

    本番環境とPHPバージョンが違うとか

    MySQLバージョンが違うとかでは、

    CIのテストが通るのに本番環境ではバグ
    が……ということになりかねません。
    環境を揃えるためにDockerは便利です

    View full-size slide

  12. ٯʹݴ͏ͱ…
    • CircleCI 1.0 では選べる環境の

    選択肢が少なかったため、本番環境と

    異なる環境になる場合もあった
    • もちろん、本番と同環境になるよう

    PHPなどのバージョンをインストール
    する手段もあるがビルド時間が増す

    View full-size slide

  13. CircleCI 2.0, wercker
    • CircleCI 2.0 では

    Dockerを標準サポートするように
    • しかし、それより以前から

    標準サポートしていたwerckerと

    比べると、癖のある記法……

    View full-size slide

  14. ͋ͱ͸σϞʂ
    • ↓話したいこと一覧
    • Dockerfileの作り方(with Alpine Linux)
    • DockerHubの説明
    • werckerでのAndroidビルドの話
    • werckerでは秘密の環境変数を登録できる話

    View full-size slide

  15. ̏
    Dockerを実際に使ってみよう

    (デモの内容のいくらかを復習用に書きました)

    View full-size slide

  16. DockerΛΠϯετʔϧ
    • 以下のURLからDocker for Macを

    インストールします

    https://store.docker.com/editions/community/
    docker-ce-desktop-mac
    • Docker Toolboxは現在公式としても

    非推奨ですので避けましょう

    https://docs.docker.com/toolbox/overview/

    View full-size slide

  17. Dockerfileͷ࡞Γํ
    • てきとーにフォルダを作ります
    • そこにDockerfileという名前の

    ファイルを用意します
    • 今回は alpine を入れてみましょう
    • Dockerfileの先頭に

    FROM alpine:latest と一行書きます

    View full-size slide

  18. docker build
    • Dockerfileのあるディレクトリで

    docker build -t alpine-test .

    とコマンドを入力すると、ビルドが始
    まります(最後のドットを忘れずに)
    • 最後のドットはDockerfileがあるディ
    レクトリを指定するもので、必要です

    View full-size slide

  19. docker run
    • docker build で作成したDockerイ
    メージの中に入ってみましょう。

    docker run -it alpine-test

    とコマンドを入力します
    • ここの中でコマンドを実行しつつ、

    Dockerfileを書き足してくといいです

    View full-size slide

  20. Dockerfileྫ
    • 今回のデモで作ったDockerfileは

    以下のようになりました。

    FROM alpine:latest


    RUN apk update && apk add \

    git

    View full-size slide

  21. ิ଍
    • 今回は素早くデモをおこなうため

    Alpine Linux というDocker向けの

    とても軽量なLinuxディストリビュー
    ションを使いましたが、

    もちろんDockerHubには Ubuntu や

    CentOS のイメージがあります。

    View full-size slide

  22. Dockerfileৄࡉ
    • Dockerfileの書き方については

    公式サイトに日本語で説明が

    されていますので、そのページを

    読んだり、よりわかりやすく解説した

    記事を探すといいと思います。

    http://docs.docker.jp/engine/reference/
    builder.html

    View full-size slide