Keep Your Dockerized App Up-to-Date with One-Click Container Redeploy

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someone

In the confines of the modern era of rapid technologies’ development and evolution, the global tendency for the applications and services provision is a real-timed racing for keeping the projects up-to-date according to the continuously expanding users’ requirements. Thereby, one of the most significant innovations, delivered within the recently released Jelastic Joker 4.0 version, has become the Container Redeploy feature.

Being intended to please Docker developers, it allows to keep up with the frequent updates of the rapidly developing images and implement their new versions in the most smooth and painless way through ensuring the following benefits:

  • data, stored within the mounted to a container volumes, is saved and will remain available afterwards through being packed into separate .tar.gz archives, which are automatically transferred out/in the container to the host physical server during this operation
  • all the previously specified custom configurations (like run commands, links, variables, etc) aren’t affected
  • if operating with multiple template instances (i.e. in case a server was scaled horizontally), the update can be performed implicitly and causing no downtime through redeploying the containers one by one

Docker-Redeploy-Article

Today we’ll show you how to easily update your container with a Dockerized service run based on another image tag in two ways: either directly through the Jelastic dashboard or remotely, i.e. with the help of Jelastic CLI client.

So, let’s discover both of these options one-by-one.

Through Dashboard

A clear and user-friendly way to update the template tag is to use the dashboard GUI – the instruction below will walk you through the required steps:

1. The dedicated redeployment dialog frame can be accessed in two different ways:

  • select the Redeploy container(s) image04 button next to the required node (or next to the appropriate environment layer for updating all the comprised containers at once):

  • or, you can click on the Change environment topology button for your environment and then hit the pencil icon next to the tag version in the central part of the opened frame:

image052. As a result, you’ll be shown the Redeploy containers window, where you need to select the desired tag for the chosen container(s) to be updated with:

image01

Tip: If you’ve determined to update several same-type nodes at once, the additional Sequential deployment option becomes available:

  • if set to On, it makes containers within the selected layer to be redeployed sequentially, i.e. one by one. In this case, running nodes will continue serving the incoming requests while a particular one is undergoing the update, in such a way, ensuring your Dockerized service availability during this procedure
  • if set to Off, all of the containers will be redeployed simultaneously, causing temporary downtime of your app (however, the procedure itself will take less time)

After all the configurations are set, just hit the Redeploy button.

3. Once the update is completed, you’ll see the corresponding pop-up message appeared in the top right corner of the dashboard:

image03

Clicking the Show Logs button will lead you to the redeploy log tab, which contains the information on Node ID of the updated container(s), name:tag of the redeployed image and Duration of this process.

image004. The current image tag version for every container can be seen within the Deployed column next to the appropriate Node ID string at the dashboard.

image07

Through CLI Client

Another possible way of updating your Dockerized app’s version is to use Jelastic CLI client (refer to the linked instruction to find out how this tool can be installed and used in the most beneficial way).  

As soon as you’ve run the CLI client at your workstation, you are able to take the control over your Jelastic account remotely. In our case, i.e. with an aim to perform the container(s) redeployment, the following actions are required:

1. Look for the available for template tag versions by executing the following command:

~/jelastic/environment/control/getdockertags --image {template_name} [--userName {login}] [--password {password}]

where {template_name} corresponds to the name of the required template, while {login} and {password} are optional parameters, required in case of a private repository usage.

image062. Now, when you know the list of existing image tags, you need to choose which one is prefered and initiate updating of your container – just run the next string:

~/jelastic/environment/control/redeploycontainerbyid --domain {env_domain} --nodeId {node_id} --tag {tag}

Here:

  • {env_domain} the appropriate environment domain name
  • {node_id} – identifier of the container to be redeployed
Note: You can get this ID right through the CLI client by examining the response of the appropriate ~/jelastic/environment/control/getenvinfo –domain {env_domain} command.
  • {tag} – image version the container will be updated with

image02

Wait for a couple of minutes to see the redeployment response with info on the versions the image was deployed from/to and duration of the operation itself.

Tip: Just as for the update via dashboard, you can redeploy all containers within the same environment layer at once using the corresponding CLI method:

~/jelastic/environment/control/redeploycontainersbygroup --domain {env_domain} --nodeGroup {group_id} --tag {tag}

Here, the {group_id} represents a node group identifier, which can be also observed using the command from the Note in the 2nd step.

In addition, you can enable the above-described option of the sequential containers’ update through appending the corresponding [–sequential true] parameter to the executed command.

That’s all for today! In such a way, with Jelastic you get a powerful tool for the Dockerized services’ tags management, being allowed to switch between them when needed with no manual adjustments or data transferring required.

Being delivered within the Jelastic 4.0 version, currently the Docker container redeploy option can be tried out at the Jelastic installations of the most swift of our partners, namely – Innofield (Switzerland), MyCloud (Belarus) and neen (Italy). So, if you’d like to be among the first ones to test the new Platform version and this feature in particular, grab the opportunity of creating a free trial account at any of the mentioned hosting providers and explore all the advantages the Jelastic Joker Release brought on your own!

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someone

Leave a Reply

Subscribe to get the latest updates