---
title: "Updating our Docker prototype to work on GCE"
source: "https://www.tigera.io/blog/updating-our-docker-prototype-to-work-on-gce/"
---

[Technical Blog](https://www.tigera.io/category/technical-blog/)

# Updating our Docker prototype to work on GCE

By [Peter White](https://www.tigera.io/blog/author/peter-white/) on Dec 19, 2014 • 3 min read

Some time ago we wrote a [blog entry](https://www.tigera.io/blog/calico-and-docker-containers/) about our Docker prototype – where we showed that Calico ran successfully (and with no changes to the Felix and ACL Manager components) in a Docker environment, providing multi-host networking between containers.

Having published this, one of the questions we were asked was whether the same prototype code would work on the Google Compute Engine (GCE), which would provide us with a great platform for easily testing Calico across multiple hosts and containers. How hard could it be, we thought?

It turns out that the key issue with running on GCE is that it’s an L3 routed network, as opposed to an L2 switched fabric. Adding more complexity is the fact that each VM (and hence compute host) in GCE is on its own /32 subnet, with the GCE fabric providing default routing between hosts (yes, that means that the default gateway is not in the same subnet as the VM!). On one hand, this means that GCE can handle much of the routing that Calico would normally set up. However, in order to be a useful Calico test platform, we needed to ensure that the Calico driven routing was being correctly distributed by BIRD. Moreover, to demonstrate the Calico function in full we needed to make sure that if the “Calico routes” weren’t being distributed properly, then GCE wouldn’t just route between VMs for us.

Consequently, in order to get this working we did need to make some tweaks to the original prototype; in particular, we needed to update our BIRD configuration so that it would work alongside the GCE fabric. We also needed to work out how to configure GCE so that it really was Calico providing the routing between containers, and not the GCE fabric. More information on this GCE prototype and how to set it up are in the GitHub repository.

In the process, we also made some changes to the original prototype to improve the packaging and instructions. A summary of the key changes in this new prototype are as follows.

- First and foremost, the prototype used downloadable images rather than Dockerfiles. That was due to the need to download some internal packages, but we’ve sorted that out and replaced the images with Dockerfiles – simplifying and speeding up the install process. That also means that if you download the prototype, you’ll be able to examine and edit the test code much more easily.

- The procedures to download and run the demo have been simplified and rewritten, so it’s quicker and easier to get things up and running. As part of this, the instructions now collect logs from all components running in containers on the host, so if you do make a mistake setting it up you’ll find it easier to figure out what is going on.

- There are a range of improvements and fixes to the prototype code, including both the plugin code and the script to network a container, with a new script to network a pre-existing container.

All of this code, including the simplified and improved documentation, is publicly available on GitHub.

[Open Source](https://www.tigera.io/tags/open-source/)[Partner/Integration](https://www.tigera.io/tags/partner-integration/)[Project Calico](https://www.tigera.io/tags/project-calico/)

## Related posts

[![What’s new in Calico: Spring 2026 Release](https://www.tigera.io/app/uploads/2026/06/Whats-New-in-Calico-NEW-TEMPLATE-2026.png)](https://www.tigera.io/blog/whats-new-in-calico-spring-2026-release/)

[Company Blog](https://www.tigera.io/category/company-blog/)

#### [What’s new in Calico: Spring 2026 Release](https://www.tigera.io/blog/whats-new-in-calico-spring-2026-release/)

By [Veronika Smolik](https://www.tigera.io/blog/author/veronika-smolik/)
on Jun 2, 2026

Kubernetes has come a long way since its debut in 2014. It’s gone from running a couple of containerized microservices to orchestrating fleets of production workloads spanning everything from AI agents to full scale VMs...

[Read more](https://www.tigera.io/blog/whats-new-in-calico-spring-2026-release/)

[![Kubernetes Operational Maturity: Secure and Resilient Cluster Federation with Cluster Mesh](https://www.tigera.io/app/uploads/2026/05/Kubernetes-Operational-Maturity-Secure-and-Resilient-Cluster-Federation-with-Cluster-Mesh.png)](https://www.tigera.io/blog/kubernetes-operational-maturity-secure-and-resilient-cluster-federation-with-cluster-mesh/)

#### [Kubernetes Operational Maturity: Secure and Resilient Cluster Federation with Cluster Mesh](https://www.tigera.io/blog/kubernetes-operational-maturity-secure-and-resilient-cluster-federation-with-cluster-mesh/)

By [Veronika Smolik](https://www.tigera.io/blog/author/veronika-smolik/)
on May 25, 2026

Practically no one runs a single Kubernetes cluster in production these days. Maybe that’s how it started but data sovereignty requirements, acquisitions, AI initiatives and the need for edge servers, among other considerations, have pulled...

[Read more](https://www.tigera.io/blog/kubernetes-operational-maturity-secure-and-resilient-cluster-federation-with-cluster-mesh/)

[![What’s New in Calico v3.32](https://www.tigera.io/app/uploads/2026/05/Green-Please-use-a-different-background-color-alternately-1.png)](https://www.tigera.io/blog/whats-new-in-calico-v3-32/)

#### [What’s New in Calico v3.32](https://www.tigera.io/blog/whats-new-in-calico-v3-32/)

By [Reza Ramezanpour](https://www.tigera.io/blog/author/rezar/)
on May 13, 2026

We’re excited to announce the release of Calico Open Source v3.32! 🎉 This release corresponds with Kubernetes v1.36 (Codename Haru) and it goes beyond just sharing a cat as the mascot of the release, it...

[Read more](https://www.tigera.io/blog/whats-new-in-calico-v3-32/)

<!-- plugin=object-cache-pro client=phpredis metric#hits=6290 metric#misses=17 metric#hit-ratio=99.7 metric#bytes=2232286 metric#prefetches=0 metric#store-reads=416 metric#store-writes=15 metric#store-hits=428 metric#store-misses=6 metric#sql-queries=32 metric#ms-total=1219.51 metric#ms-cache=52.58 metric#ms-cache-avg=0.1223 metric#ms-cache-ratio=4.3 -->
