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
63
Docker x wercker
他社さんの社内勉強会に誘われたのでそこにて発表。
CircleCIを知らない方が多く、そこの説明からになったのでちょっとあせりました。
ハトネコエ
July 13, 2017
Tweet
Share
More Decks by ハトネコエ
See All by ハトネコエ
Godot 4.3 と学ぶインタラクティブミュージック / Interactive Music Basics with Godot 4.3
nekonenene
0
47
Developer Consoleを使い倒そう / Use Web Browser DevTools
nekonenene
0
8
まだまだマイナー?! 未踏事業について教えます / Introduction of Mitou Project
nekonenene
1
97
Docker for Windows/macOS
nekonenene
0
8
技術的負債を防ぐには / What is the Technical Debt
nekonenene
0
290
画像処理の基礎の基礎 / Ultra Basic of Image Processing
nekonenene
0
24
伝わる文章を書こう講座 / Write the Kind Japanese Message
nekonenene
2
140
Unity で Android 自動ビルドしたかった話 / I tried Android build of Unity using Docker, but...
nekonenene
0
2.1k
これでわかるB-treeアルゴリズム / B-tree algorithm
nekonenene
12
9.8k
Other Decks in Technology
See All in Technology
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
250
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
180
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
390
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
250
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
アップデート紹介:AWS Data Transfer Terminal
stknohg
PRO
0
180
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
150
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Six Lessons from altMBA
skipperchong
27
3.5k
We Have a Design System, Now What?
morganepeng
51
7.3k
Gamification - CAS2011
davidbonilla
80
5.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
How to Ace a Technical Interview
jacobian
276
23k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
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