Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Docker x wercker
Search
ハトネコエ
July 13, 2017
Technology
0
56
Docker x wercker
他社さんの社内勉強会に誘われたのでそこにて発表。
CircleCIを知らない方が多く、そこの説明からになったのでちょっとあせりました。
ハトネコエ
July 13, 2017
Tweet
Share
More Decks by ハトネコエ
See All by ハトネコエ
まだまだマイナー?! 未踏事業について教えます / Introduction of Mitou Project
nekonenene
1
83
技術的負債を防ぐには / What is the Technical Debt
nekonenene
0
290
画像処理の基礎の基礎 / Ultra Basic of Image Processing
nekonenene
0
19
伝わる文章を書こう講座 / Write the Kind Japanese Message
nekonenene
2
130
Unity で Android 自動ビルドしたかった話 / I tried Android build of Unity using Docker, but...
nekonenene
0
2k
これでわかるB-treeアルゴリズム / B-tree algorithm
nekonenene
11
9.4k
なぜ社内勉強会をするのか
nekonenene
0
130
ロードバランサーって何? / What is the load balancer?
nekonenene
0
160
はじめてのVPS契約 / My first VPS
nekonenene
1
190
Other Decks in Technology
See All in Technology
日経電子版から始まった内製開発の現在地と向き合っている課題/inhouse
nishiuma
0
240
すぐに始めるAWSコスト削減。短期でできる改善策と長期的な運用負荷軽減への取り組み方を解説
ncdc
1
490
Namespace, Now and Then
tagomoris
0
170
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
13k
目標設定と習慣化で今よりも一歩生産性を上げる
sansantech
PRO
7
2.3k
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
2
140
2024年版 運用者たちのLLM
nwiizo
3
360
強いチームを夢見て-PMからSREに転身して1年の振り返り / 20240906_bengo4_sre
bengo4com
2
800
MySQLユーザ会なにやってるの?とおさそいと / たいへんなのw
sakaik
1
100
The XZ Backdoor Story
fr0gger
0
1.4k
手軽に始める? おうちサーバーのすゝめ
nyagasan
0
180
エンジニアリングマネージャーが紐解く、事業視点から組織文化まで、包括的アプローチの探求 / READYFOR
9ma3r
14
2.3k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
165
48k
Web development in the modern age
philhawksworth
204
10k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
157
15k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
Navigating Team Friction
lara
183
13k
KATA
mclloyd
27
13k
Code Reviewing Like a Champion
maltzj
518
39k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
28
2.2k
How GitHub (no longer) Works
holman
309
140k
Transcript
ϋτωίΤ werckerから Dockerを使ってみよう @nekonenene
ࣗݾհ ハトネコエ • Twitter : @nekonenene • Github : nekonenene
• Facebook : 本名 • Job : UUUM • ミクさんかわいい!!!!!!
UUUMʁ YouTubeに投稿している 動画クリエイターをサポートしています
̍ なぜDockerを使うのか?
ͳͥDockerʁ • 環境の使い捨てが出来る (VirtualBoxなどと同じ利点) • VirtualBox(ホスト型)よりも速い • CircleCI 2.0 や
wercker による 標準サポート
Dockerҙ֎ͱ؆୯ • 最小限で言うなら Dockerfile に FROM の行を書くだけでおしまい • docker build
と docker run の コマンドだけ覚えとけば だいたいなんとかなる
VirtualBoxΑΓ͍ʁ • 仮想化の方式には「ホスト型」「ハイ パーバイザー型」が今まであったが Dockerは「コンテナ型」にあたる。 • ユーザー空間のアプリケーションから OSの機能を呼び出すホスト型と異なり 「コンテナ型」はOSカーネルをそのま ま用いる
https://thinkit.co.jp/story/2014/12/02/5456 ΑΓ
̎ werckerで使ってみよう
werckerͱ • CircleCI みたいなものです。 GitHub や Bitbucket に push すると自動で指定タスクを
おこなってくれます • テストやデプロイなど時間のかかる ことを代わりにやらせます
CIͱDocker૬ੑྑ͍ CI環境でテストコードを走らせるとき、 本番環境とPHPバージョンが違うとか MySQLバージョンが違うとかでは、 CIのテストが通るのに本番環境ではバグ が……ということになりかねません。 環境を揃えるためにDockerは便利です
ٯʹݴ͏ͱ… • CircleCI 1.0 では選べる環境の 選択肢が少なかったため、本番環境と 異なる環境になる場合もあった • もちろん、本番と同環境になるよう PHPなどのバージョンをインストール
する手段もあるがビルド時間が増す
CircleCI 2.0, wercker • CircleCI 2.0 では Dockerを標準サポートするように • しかし、それより以前から
標準サポートしていたwerckerと 比べると、癖のある記法……
͋ͱσϞʂ • ↓話したいこと一覧 • Dockerfileの作り方(with Alpine Linux) • DockerHubの説明 •
werckerでのAndroidビルドの話 • werckerでは秘密の環境変数を登録できる話
̏ Dockerを実際に使ってみよう (デモの内容のいくらかを復習用に書きました)
DockerΛΠϯετʔϧ • 以下のURLからDocker for Macを インストールします https://store.docker.com/editions/community/ docker-ce-desktop-mac • Docker
Toolboxは現在公式としても 非推奨ですので避けましょう https://docs.docker.com/toolbox/overview/
Dockerfileͷ࡞Γํ • てきとーにフォルダを作ります • そこにDockerfileという名前の ファイルを用意します • 今回は alpine を入れてみましょう
• Dockerfileの先頭に FROM alpine:latest と一行書きます
docker build • Dockerfileのあるディレクトリで docker build -t alpine-test . とコマンドを入力すると、ビルドが始
まります(最後のドットを忘れずに) • 最後のドットはDockerfileがあるディ レクトリを指定するもので、必要です
docker run • docker build で作成したDockerイ メージの中に入ってみましょう。 docker run -it
alpine-test とコマンドを入力します • ここの中でコマンドを実行しつつ、 Dockerfileを書き足してくといいです
Dockerfileྫ • 今回のデモで作ったDockerfileは 以下のようになりました。 FROM alpine:latest RUN apk update
&& apk add \ git
ิ • 今回は素早くデモをおこなうため Alpine Linux というDocker向けの とても軽量なLinuxディストリビュー ションを使いましたが、 もちろんDockerHubには Ubuntu
や CentOS のイメージがあります。
Dockerfileৄࡉ • Dockerfileの書き方については 公式サイトに日本語で説明が されていますので、そのページを 読んだり、よりわかりやすく解説した 記事を探すといいと思います。 http://docs.docker.jp/engine/reference/ builder.html