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
Building Minimal Docker Containers
Search
Gavin Zhou
February 22, 2017
Technology
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Minimal Docker Containers
Gavin Zhou
February 22, 2017
More Decks by Gavin Zhou
See All by Gavin Zhou
Prometheus Operator
gavinzhou
3
1.3k
Other ingress voyager
gavinzhou
0
200
Multiple Ingress on GKE
gavinzhou
0
1.9k
kubernetes chatops
gavinzhou
0
620
Other Decks in Technology
See All in Technology
そのドキュメント、自動化しませんか?
yuksew
1
300
「AIに依存している」と 「AIを使いこなしている」の違い
k8yasuma
0
120
GoでCコンパイラを作った話
repunit
0
110
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
130
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
1
220
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
カードゲーム作りが教えてくれた プロダクトオーナーシップ
moritamasami
0
110
AI時代の闇と光
tatsuya1970
0
110
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
220
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
3
4.2k
シンガポールで登壇してきます
yama3133
0
240
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
30 Presentation Tips
portentint
PRO
1
350
Docker and Python
trallard
47
4k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
WCS-LA-2024
lcolladotor
0
710
Odyssey Design
rkendrick25
PRO
2
730
Test your architecture with Archunit
thirion
1
2.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
390
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
Faster Mobile Websites
deanohume
310
32k
Marketing to machines
jonoalderson
1
5.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
Transcript
Building Minimal Docker Containers Orangesys Inc.
$Who am I Orangesys Inc. Tachibana Shuji Twitter @yepn Running
Orangesys Inc. SaaS監視システム https://orangesys.io @orangesysio
None
None
Orangesys • All in docker • Kubernetes on GKE •
OpsDev -> NoOps Architecture & Stack
Architecture: Orangesys > Kubernetes Apigateway Namespace Cloud Load Balancing Standard
Devices HTTPS Browser Client Production Namespace Kube-system Namespace Tiller Replication Controller Grafana Container Engine Replication Controller Influxdb Container Engine Replication Controller Corporate Site App Engine Autoscaling Orangesys Firebase Autoscaling Monitoring Namespace Prometheus RC Influxdb RC Grafana RC Opsbot Namespace Kubebot RC K8s-event RC Stripe Server Api Container Engine Replication Controller PostgresSQL Container Engine Replication Controller MariaDb Container Engine Replication Controller Nginx Container Engine Replication Controller Traefik Container Engine Replication Controller Server Telegraf Ingress Container Engine Replication Controller Kong ApiGateway Container Engine Replication Controller Kubenetes API Replication Controller SSL Cert Bot Replication Controller Orange Api Container Engine Replication Controller
Technology Stack
Agenda • Docker images size • Docker images security
None
Coreos clair Security data Sources
Layers
Topic Alpineでdocker image Goalngなら、scratchベースでdocker imageを作る Layersを減らすと、build時間が短縮
Alpine base image base size 2MBのAlpineでdocker imageを作る、 ただし LIBCがMUSL LIBCとなりましたが、OS周りの依頼関係
ex) Not resolving using search domain <service-name>.<namespace-name>.svc.cluster.local https://github.com/gliderlabs/docker-alpine/issues/8
Scratch base image Goalngなら、scratchベースでdocker imageを作る ただし コンテナから外部へhttps通信時、ca証明書の実装が必要となります。 FROM scratch ADD
ca-certificates.crt /etc/ssl/certs/ ADD main / CMD ["/main"]
Layers Layersを減らすと、build時間が短縮 ただし、LIBCを使う場合は、既存のdocker imagesを利用した方が良いかも
参考 https://github.com/orangesys https://stackshare.io/orangesys-inc https://hub.docker.com/u/orangesys/dashboard/