Deploy And Update Docker Containers Remotely on Linux and IoT devices

Deploying devices with complex software might require continuous maintenance of the code and the packages remotely. For those cases, it is recommended to containerize (create docker container) the device application and maintain the device's software by deploying and updating the docker image of the application. This post explains how to deploy and update Docker Containers on IoT and Linux devices using Upswift Containers Update tool.

Time to read:

4

minutes

Many of today's new products are running complicated software tasks, from image processing to machine learning. Together with powerful single-board computer hardware like the Nvidia Jetson Nano, or the Raspberry Pi 4, it becomes even more common to deploy high-end software on edge IoT products.

Deploying devices with complex software might require continuous maintenance of the code and the packages remotely. For those cases, it is recommended to containerize (create docker container) the device application and maintain the device's software by deploying and updating the docker image of the application.

Deploy and update Docker containers on remote Linux devices

This post takes you through 10-steps guide to use Upswift Container Updates tool and keep your remote products updates and stable with the last version of your software.

1. Register to Upswift.io platform and connect a Linux device by going through the on-boarding of your account.


2. Open Container Registry at DockerHub or AWS ECR to store your Docker images that are going to be deployed on your edge device.


3. At Upswift platform, go to the 'Updates' category and move to the 'New Container Update' section.

4. Fill in the General details section - choose the device or group of devices to deploy this update on, the version of the update, and comment.


5. Next, integrate your Container Registry account with Upswift, follow our docs to set up the integration in DockerHub or AWS ECR.


6. In the deployment details section, you will need to choose the repository name and the tag of the image you would like to deploy.

7. From that point, the image is defined and it is now possible to set actions for creating a container of the image based on flags and commands according to the application needs.


Upswift will automatically replace the current running container with the newly deployed container from the same repository. 

8. In the last section, it is possible to enable the rollback feature that ensures stability by re-running the previous container in case of an issue during the update deployment.


9. By deploying the update you will have an option to view the deployment status, abort the deployment, or deploy it again on other devices by clicking on the 'Deploy To Others' button in the 'Recent Updates' section.


10. Container deployments can be done on a single device, or tens of thousands of devices. In both cases, it is recommended to monitor the running containers by using Upswift Processes monitor tool.