Container updates
Last updated
Last updated
Container updates are an update engine for Docker containers. You can deploy a new release of your containers on your entire fleet of devices. Currently, container updates are available only for Docker Hub and AWS ECR repositories or Private repository (contact us if you are using a different repository).
During the deployment process, Upswift agent will automatically stop & remove all containers that are currently running and created using the same repository.
Private or Public repository at https://hub.docker.com/ or AWS ECR or Private repository.
The Docker engine must be installed on the Linux device.
Docker installation
Upswift container update tool uses the Docker engine as the basis for the container update. Before using Upswift container update, please make sure that the docker engine is installed on the device. To install docker on any type of device architecture run the next command:
curl -fsSL https://get.docker.com | sh
Creating and deploying a Container update is easy and takes just a few moments. There is a recipe to fill which consists of multiple stages:
1. General details - overall information regarding the update: update version, which devices to deploy the update on, a comment for later reference, etc.
2. Container details - information regarding the container: the type of the container, the repository type, your DockerHub/AWS ECR account, etc.
3. Deployment details - information regarding the deployment: the repository name, the image tag, docker run commands, amount of containers to deploy, etc.
The repository name can be found at Dockerhub (for example): Upswift/test -- only "test" needs to be entered.
or on AWS ECR, enter the full URL:
Or on a private repository (for example GitHub), enter the full URL:
4. Rollback - choose what to do in case the update fails to deploy: for example - run the previous container, etc.
That's it. Clicking on the Deploy
button will begin the deployment on the devices you have selected.
After creating a container update, the following steps will be executed on the edge devices by Upswift agent:
If private repository, Upswift agent will login to the Dockerhub / AWS ECR using account access token.
Pulling the container image.
Stoping any containers that are running using the same repository name.
Running a container using the new pulled image.
If succeeded in running the new container, remove the old container. If an error occurred, re-run the old container(s).
If specified, remove the image of the old container(s).
Upswift Agent detects errors while deploying container updates. If an error is detected during the deployment process, it will automatically bring up and re-run the previous container that was running with the same image name.
For example: before the deployment, a container of the image: test
with the tag: v1
was running. We deploy a new release of the same image test
, but with a new tag: v2
. If during the deployment process an error occurred, Upswift agent will re-run the container with the tag: v1
. You will receive a message with the error explained.
To monitor the current running containers, please use the Processes monitor tool.