This page describes a few things you need to know to get started in developing a service for Cloud Run for Anthos on Google Cloud.
You must meet the following requirements when you develop a service:
- The service must listen for requests.
You can configure the port
on which requests are sent.
Inside Cloud Run for Anthos container instances, the value of the
PORTenvironment variable always reflects the port to which requests are sent. Your code should check for the existence of this
PORTenvironment variable and if it is present, should listen on it to maximize portability.
- The service must be stateless. It cannot rely on a persistent local state.
- The service must not perform background activities outside the scope of request handling.
You can find more details about these constraints in the Container Runtime Contract.
Programming language support
Cloud Run for Anthos allows you to write code in the programming language of your choice.
Using a web server
You can use a web server to listen on the required port, and to process and route incoming requests. For example, Node.js developers can use Express.js, Python developers can use Flask, Ruby developers can use Sinatra, and so forth.
Containerizing your code
To deploy to Cloud Run for Anthos, 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.
A file named Dockerfile is commonly used to declare how to build the container image.
Dockerfiles very often start from a base image (e.g.
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 the syntax via the Dockerfile Reference and how they fit together via the tips in Best practices for writing Dockerfiles
- Read Best Practices for Building Containers for further refinements
- Once you have your service code and Dockerfile, you should build a container image then continue iterating in local testing.
- If you are migrating an existing web application, see Migrating Your Service to Cloud Run for Anthos.
- For best practices for designing, implementing, testing, and deploying a service in Cloud Run for Anthos, see the Development tips.