What are Containers?
Containers is the CloudPlugs IoT Docker Container Lifecycle Management platform for devices running the Edge One™ Platform.
The use of Linux containers to deploy applications is becoming increasingly popular. While containers are not new, their use for easily deploying applications is.
Containerization of applications is increasingly popular because containers are:
- Flexible: Even the most complex applications can be containerized.
- Lightweight: Containers leverage and share the host kernel.
- Interchangeable: You can deploy updates and upgrades on-the-fly.
- Portable: You can build locally, deploy to the cloud, and run anywhere.
- Scalable: You can increase and automatically distribute container replicas.
- Stackable: You can stack services vertically and on-the-fly.
Images and Containers
A container is launched by running an image. An image is an executable package that includes everything needed to run an application–the code, a runtime, libraries, environment variables, and configuration files.
A container is a runtime instance of an image–what the image becomes in memory when executed (that is, an image with state, or a user process).
A container runs natively on Linux and shares the kernel of the host machine with other containers. It runs a discrete process, taking no more memory than any other executable, making it lightweight.
For more information, refer to the Docker Get Started Guide.
Containers and CloudPlugs IoT
CloudPlugs IoT uses Docker as the container runtime engine and it includes a container registry that allows users to push containers to the platform. Namespaces and containers need to be configured in Containers before any containers can be uploaded to CloudPlugs IoT.
Containers allows users to create Namespaces to group containers. Every container must have a Namespace.
Containers can be developed in any language and provisioned at any time during the lifecycle of a Production Thing device. They can be developed before or after the devices are created. Since they are saved into the Container management platform, they can be provisioned as required.
The SmartPlug™ IoT agent is used as the edge/device side orchestrator to add, remove, run, stop and update containers installed in a device typically running the Edge One™ platform. The SmartPlug™ is instructed by CloudPlugs IoT as to what to do with CloudPlugs IoT containers.
Container Configuration and Installation
For details on the use of the Container Lifecycle Management platform, please refer to the Container Provisioning and Management Guide.