Container Overview

Containers are the foundation of the Cycle platform.

Containers are a way to package together your application along with it's dependencies, and run in a resource isolated process. They provide consistency across different hosts, efficiency over traditional hosting methods, and facilitate a micro-service based approach, where each logical piece of your application is split into multiple, easily testable parts (such as API, Backend, Frontend, etc).

Want to go a bit deeper? Check out this introductory article from our publication.

Container Workflow

Container-based development may introduce a slightly different workflow.

  1. Using a tool such as Docker, you'll package each piece of your application into a container image.
    • Alternatively, you can tell Cycle to import the Dockerfile from your git repository and build the image for you.
  2. After testing the image(s) works on your local machine, push it to a Docker registry (such as Docker Hub, or your own private registry hosted on Cycle).
  3. Import the image to Cycle and deploy it to an environment.

This is the most common way to work with containers. You are also able to integrate them into a CI/CD system, and have it alert Cycle to rebuild your images via webhooks.

If you have questions on converting to containers, or would like some help getting your application containerized, reach out to our support team. We're happy to help!

Cycle's Container Orchestrator

Cycle is built on top of runC (the root container runtime used in Docker), and supports the OCI spec. Our orchestrator has been in production use for several years, and supports any container that follows the OCI.

Using The Portal

Cycle simplifies the management of containers through an intuitive UI, without taking away your power to manage your containers how you wish. Basic information and logs are available from the dashboard, while more specific configuration options are available under the "Config" and "Settings" tabs.

Config vs Settings
On Cycle, settings that affect how the container is run are called "Config", while settings specific to Cycle, like the name of the container, and reimaging settings are just called "Settings". This separation is done to keep with the spirit of containers being host-agnostic.

The Container Dashboard

From the container dashboard, you'll get basic information on the container and an activity log.

Network - At the top, we have basic network information, private and public IPs, the assigned domain, and hostname are all listed here.

Instance Counts - The circle graph on the left (Instances) shows the total number of copies of the container, and the state they are in. Hover over a specific color to see the number of instances in that state.

Instances Chart - To the right of that we have the Instances chart, offering supplemental information about this containers history.

Activity - The recent container events.

The Command Bar

Across the entire container view, you are able to start/stop/pause the container.

  • - Starts all instances of the container.
  • - Stops all instances of a container.
  • - [COMING SOON] When implemented, will freeze state of container, allowing for migration or inspection.
  • - Takes you to the delete form.

Need Help?

If you've got questions about the platform or need some help getting started, our team is more than happy to assist. Whether you're new to containers or just new to Cycle, reach out to us via livechat by clicking the blue circle in the bottom right corner. Join our Slack channel, and get help from the dev team or other members of the community, and check out our Roadmap to see what's planned for the future!