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
Build Docker Images with Bazel
Search
micnncim
September 05, 2019
Programming
4
740
Build Docker Images with Bazel
Docker Meetup Tokyo #32
https://dockerjp.connpass.com/event/144717
micnncim
September 05, 2019
Tweet
Share
More Decks by micnncim
See All by micnncim
Spanner Autoscaler
micnncim
1
490
Accelerate Go development with Bazel
micnncim
9
7.2k
Protocol Buffers Language Server
micnncim
1
3.1k
How Uber "Go"es Recap
micnncim
2
2.4k
We want AWESOME CLI tool & development
micnncim
9
5.1k
GoReleaser: Release and Distribute Go Application
micnncim
9
1.1k
Other Decks in Programming
See All in Programming
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
Jakarta EE meets AI
ivargrimstad
0
690
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.3k
Quine, Polyglot, 良いコード
qnighy
4
650
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
CSC509 Lecture 12
javiergs
PRO
0
160
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
Macとオーディオ再生 2024/11/02
yusukeito
0
370
CSC509 Lecture 11
javiergs
PRO
0
180
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
Ethereum_.pdf
nekomatu
0
470
Featured
See All Featured
Embracing the Ebb and Flow
colly
84
4.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
What's in a price? How to price your products and services
michaelherold
243
12k
Agile that works and the tools we love
rasmusluckow
327
21k
Designing for humans not robots
tammielis
250
25k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Writing Fast Ruby
sferik
627
61k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Automating Front-end Workflow
addyosmani
1366
200k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Transcript
@micnncim Build Docker Images with Bazel Docker Meetup Tokyo #32
Presentation Outline Today's Agenda About Me How to build Docker
Image? What is Bazel? How good is Bazel for Docker? How to use Bazel for Docker? Recap
micnncim Twitter: @micnncim GitHub: @micnncim University Student / B4 Interest:
Go, Cloud Native, DevOps Favorite Base Image: distroless Blog: micnncim.github.io
Let's Build Docker Images EXPLORE THE WAYS TO BUILD DOCKER
IMAGES
How to build Docker Image? `docker image build` これまで Docker
Image をビルドすると いえば、これ BuildKit, kaniko, Buildah, ... " 次世代 Docker ビルドツール" は たくさんある 特に BuildKit の勢いがある Bazel 今⽇紹介するのはこれ
Bazel
What is Bazel? Fast 並列ビルドと キャッシュによる差分ビルドで速い リモートキャッシュにも対応 Correct ツールのバージョン固定や sandbox
化された環境でのビルドにより ワークスペースを汚染せず 再現性の⾼いビルドを⾏う Multi-language Docker に限らず 様々な⾔語・プラットフォームに対応 C++, Java, Python, Swift, Kotlin, Go, Rust, Scala, TypeScript, etc. Extensible Starlark という Python のサブセット⾔語で 拡張可能 WORKSPACE, BUILD(.bazel) といった ファイルを配置する
How good is Bazel for Docker? Develop with Docker +
Bazel
How good is Bazel for Docker? Docker Image Optimization デフォルトで
distoless を ベースイメージとし イメージサイズを ⾃動で最⼩化する ↓ テンプレート的な Dockerfile の数を 減らせる All in Bazel Build, Push, Pull に Docker を利⽤せず すべてが Bazel で 完結する
How to use Bazel for Docker? The usage for Bazel
+ Docker
bazelbuild/rules_docker HANDLE DOCKER Bazel ファイルに記述するだけで 利⽤可能 BUILD / PUSH /
PULL Bazel だけで Docker Image の Build, Push, Pull が出来る SUPPORT LANGUAGES go_image, py_image など 各⾔語⽤の `lang_image` が⽤意されている https://github.com/bazelbuild/rules_docker
Build with container_image
Build with go_image
Build with go_image
Pull with container_pull
Push with container_push
RECAP DOCKER IMAGE OPTIMIZATION ⾃動で最適化し、最⼩イメージを 作ってくれる ALL IN BAZEL エコシステムが
Bazel で完結する
See Also https://bazel.build http://github.com/ bazelbuild/bazel https://github.com/ bazelbuild/rules_docker
Twitter @micnncim Thank you! Presented by @micnncim GitHub @micnncim