In recent years, the growth of IoT (Internet of Things) devices has been exponential. The ability to connect and manage these devices at scale is becoming increasingly important. Docker containerization technology provides a solution to this challenge. Docker container orchestration is a powerful tool that can be used to manage and deploy containers on embedded edge devices.
What is Docker Container Orchestration?
Docker container orchestration is the process of managing the deployment, scaling, and operation of containerized applications. It is used to automate the deployment of containerized applications, and ensure that they are running efficiently. Docker container orchestration provides a framework for managing the lifecycle of containers, from creation to deletion. A crucial part of this is obtaining the ability to update them securely, also for large fleets of embedded edge devices that might be located throughout the world with various levels of connectivity.
How can qbee help you to manage Docker containers at the edge?
There are multiple ways the qbee device management platform can help you with the orchestration of docker containers. You can either work with Docker or Docker compose. The later allows you to do very advanced and even templated Docker orchestration roll-outs. You can re-use templates and deploy different settings or options for different group of edge devices or even for individual devices. We will discuss the fully automated Docker configuration management option here, but below you will find links to all different topics in our documentation so we encourage you to also look at the second and third link for additional information and ideas.
Fully automated Docker container roll-outs
Docker containers can be downloaded from any publicly or privately hosted images. Just make sure the docker package / service is available on your relevant edge devices. As soon as a valid container is defined qbee will automatically restart it for you. Let’s have a look at the UI:
A container can be defined simply by providing a name and specifying an image to use when starting it. Additional customizations can be made using optional arguments, which are passed to the Docker command line when starting containers. Environmental files can also be uploaded using our File Manager. Additionally, a specific command to run can be specified, which will override the default command provided by the Docker image.
When hosting images privately, it is necessary to provide authentication credentials using the “Registry Authentication” tab. This requires specifying a repository hostname for authentication purposes, along with a username and password. When using private repositories, the image name must include the repository hostname within it.
For example, if you have an image named “my-image:latest” hosted at “my.private-repository.com“, it should be defined as “my.private-repository.com/my-image:latest” in your container definition.
Exploring Docker containers on the edge device with inventory information
When working with Docker containers, it can be useful to monitor the containers on the devices and their current status. The qbee inventory feature provides this functionality. To access the inventory for a device running Docker, navigate to the “Docker info” tab. Here, you can find the following information recorded: