15. What did we do?
1. Write first Dockerfile
2. Reduce image size
3. Don’t run installs
4. Use better base image
5. Write .dockerignore
6. Improve incremental speed
7. Switch touse a Maven plugin
30. Docker
Image
Format
Tarballs that compose intoa
single filesystem
And a container configuration
Tarball A Tarball B Tarball C
/bin
/usr
/tmp
/var
/jdk /app.jar
Environment variables, entrypoint, etc.
Container configuration
32. Docker
Image
Format
Tarballs that compose intoa
single filesystem
And a container configuration
And a manifest
Tarball A Tarball B Tarball C
/bin
/usr
/tmp
/var
/jdk /app.jar
Tarballs A, B, C, and the configuration
Manifest
Environment variables, entrypoint, etc.
Container configuration
44. Possibilities for a container “compiler”
Smart inferences Container optimizations Evenfaster builds Smaller images
Tools for running the container
Run and debug on Kubernetes
46. The Future
github.com/GoogleContainerTools/jib
More containerization tools and Java library for building container images
Release Maven/Gradle plugin for run and debug on Kubernetes (with Skaffold)
Be able to write code and have it run automatically in a distributed container cluster
...
54. Serverless containers, where you want them
Cloud Run (fully managed)
• Fully serverless
• No cluster to manage
• Pay for what you use
Cloud Run on GKE
• Serverless developer experience
• Runs in your GKE cluster
59. Q&A
Also:
● Cloud Run FAQ: github.com/ahmetb/cloud-run-faq
● Anytime on StackOverflow with the google-cloud-run tag
Steren - @steren – Google Cloud Run PM
Special Thanks to :