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
760
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
500
Accelerate Go development with Bazel
micnncim
9
7.3k
Protocol Buffers Language Server
micnncim
1
3.2k
How Uber "Go"es Recap
micnncim
2
2.4k
We want AWESOME CLI tool & development
micnncim
9
5.2k
GoReleaser: Release and Distribute Go Application
micnncim
9
1.1k
Other Decks in Programming
See All in Programming
快速入門可觀測性
blueswen
0
500
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
300
php-conference-japan-2024
tasuku43
0
430
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
130
Fibonacci Function Gallery - Part 2
philipschwarz
PRO
0
210
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
28
4k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
930
為你自己學 Python
eddie
0
510
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
630
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
1k
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
180
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
420
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Optimizing for Happiness
mojombo
376
70k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Making Projects Easy
brettharned
116
6k
Gamification - CAS2011
davidbonilla
80
5.1k
Thoughts on Productivity
jonyablonski
68
4.4k
Bash Introduction
62gerente
610
210k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Designing for humans not robots
tammielis
250
25k
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