To deploy to Cloud Run, you need to provide a container image. A container image is a packaging format that includes your code, its packages, any needed binary dependencies, the operating system to use, and anything else needed to run your service.
Dockerfile
A file named Dockerfile is commonly used to declare how to build the container image. You can find examples of Dockerfiles for popular languages in the build and deploy quickstart.
Dockerfiles very often start from a base image (e.g. FROM golang:1.11
).
You can find base images maintained by OS and language authors on
Docker Hub.
Cloud Build checks for cached images
before pulling from Docker Hub. If you use a third-party build tool, you can
configure your Docker daemon to check for images in the same cache. You can also
find base images managed by Google in the
Google Cloud Marketplace.
If you bring your own binaries, make sure they are compiled for Linux ABI x86_64.
These resources provide further information on Dockerfiles:
- Learn Dockerfile syntax through the Dockerfile reference.
- Learn how Dockerfiles fit together through the tips in Best practices for writing Dockerfiles.
Buildpacks
Google Cloud's buildpacks helps you build source code from a set of supported languages into container images without the need for a Dockerfile.
What's next
After you have containerized your code, build a container image then continue iterating in local testing.