Adding Docker Container to Jelastic Environment

Note: This document is based on Jelastic version 4.6.

Jelastic implementation of Docker® standard on top of Virtuozzo containers provides the ability to create and manage all types of applications or services, that are available within public Hub Registry or your own private registry, e.g. based on Quay Enterprise Registry (navigate to the Jelastic & Docker packaging technology integration page to explore the details).

And within this instruction you’ll find out how to get started with Dockerized applications and services at Jelastic - namely, how to create a container with the required Docker template through either environment topology wizard or Jelastic Marketplace board.

In addition, you can learn how to add a Docker image from your custom registry - follow the linked page for guidance.

Tip: When you already have the required template deployed, you may be interesting in extra possibilities the Jelastic Cloud provides for its management, like:

  • GUI assistant for the main configurations performing
  • granted root permissions while accessing it via SSH
  • updating the required container with the latest template version in one click
  • automatic horizontal scaling of the appropriate environment layer based on the received load
  • tracking incoming load for different types of consumed resources through receiving the corresponding notifications via email

Environment Wizard

1. Access the Environment Tology wizard by means of selecting the New environment button at the top-left dashboard’s corner.

Docker containers at Jelastic wizard

Switch to the Docker tab at the top of the wizard. Inside, you’ll find a number blocks with different layer names to the left, where each of them provides an ability to select a Docker image with the required software and create a container based on it. You can add containers to any of the sections or several of them in order to divide and structurize the topology according to your needs.

Thus switch to the required layer and proceed with the Select Container button.

2. In the opened Select Container frame, you’ll see a few tabs:
  • optional Quick Start with a set of most popular templates according to the layer chosen (this tab may be absent depending on your hosting service provider settings)
  • Search, which allows to find the desired template at the central Hub Registry
  • Custom, where you can add your own template from the custom Docker registry
  • Favorite, where you can store the images you’ve liked and which you presume to use in future

search for Docker image

As an example, let’s use the search via the official Hub Registry - navigate to the same-named tab, type the full or part of the required name to the input field (e.g. jelastic) and hit Enter. After being shown the list of results, simply click on the prefered template to add it to the chosen layer (it will be marked with a tick and become highlighted). The necessary tag can be selected within the drop-down list next to the image name at the upper part of the frame.

Tip: Hovering over a particular image will expand the plank with a few supplementary functions:

Docker image at Jelastic wizard

Here, clicking on the More details string will open a separate browser tab with the corresponding repository page at Hub Registry.

And the star sign in the top right corner can be used for marking an image as Favorite, so it will be permanently stored within the same-named tab to become easily accessible (just in the same way, it can be unticked for being removed from this list).

You can choose a single template per each layer, thus, if you’d like to change the picked image - just click on another one and confirm the replacement. Also, you can instantly switch between layer sections at the left pane to add any other container and customize your environment topology.

In case you need to add multiple different templates at once, use the Extra wizard block(s), where each of them will represent a separate independent environment layer:

extra layers for environment topologies

Add as much blocks with images as you need by clicking on the + button and choosing the necessary template using the board to the right.

Click the Next button after you’ve finished the composing.

3. Once you are back at the wizard with all the required Docker nodes added, you can start configuring and managing them:

Docker containers configurations

For more information on Docker nodes Сonfigurations (available within the same-named section at the bottom of the wizard), read the Docker Container Configuration guide.

Besides, you are able to manage the required settings even before an image is deployed - all the required data is automatically fetched upon accessing the appropriate settings section.

As soon as configurations are done, type the desired name for your environment, e.g. my-docker-env, to receive the similar one (we’ve added two more containers with Jelastic templates to other layer sections):

create Docker environment

Tip:
  • any Docker environment layer can be scaled horizontally with the Multi Nodes feature; moreover, you can configure this for being performed automatically based on incoming load or define to get the appropriate load alerts via email
  • if adding an image to the Application Server and/or Balancing layer, the whole environment will be automatically complemented with its own entry point (i.e. domain name) for being accessible over Shared LB
  • enabling the Public IP option for the frontend container (i.e. which is intended to serve the requests, sent to the common environment domain) allows using custom domain names for your Dockerized apps and swap them

Now click on the Create button at the bottom of the wizard to initiate the environment creation.

4. That’s all! In a few minutes your environment with Docker containers will be created and will appear at the dashboard.

open Docker container in browser

You can Open each container in browser with the corresponding button next to it or similarly access the whole environment via the assigned domain (shown below the environment name) - in this case, the application server layer’s template (or the balancer’s one if present) would be run.

Note:

  • not all templates have the web-server running out of the box to provide the graphical user interface, thus you can get the 502 application down error while trying to access such a container through browser. However, that doesn’t mean this image is incorrect or corrupted - if you’d like to ensure the necessary service is really working, check the running processes inside a container using the SSH connection.
  • in case an application, deployed to a container without the Public IP attached, is not listening to the :80th port on its backend, you’ll be shown the dedicated 502 - Service is down error page while trying to open it. This means you need to additionally adjust your container for ensuring it has a HTTP service run and set for handling the incoming requests through the abovementioned port.

In our case, the jelastic/tomcat8 node with Jelastic Hello World application packed will be launched if opening the environment.

Jelastic's tomcat 8 Docker image

If you’d like to make any additional configurations to a container, you can either perform this right through your dashboard (just click the Config button next to a node to open the embedded Configuration manager) or execute the required operations via terminal after accessing it via SSH. In both cases, you are granted the full root permissions for accomplishing the desired adjustments.

Marketplace

1. Click the Marketplace button at the top of your dashboard.

Jelastic Marketplace button

2. In the opened section, switch to the Containers board, where you’ll see a few tabs:
  • optional Quick Start with a set of most popular templates (this tab may be absent depending on your hosting service provider settings)
  • Search, which allows to find the desired template at the central Hub Registry
  • Custom, where you can add your own template from the custom Docker registry
  • Favorite, where you can store the images you’ve liked and which you presume to use in future

Docker search at Marketplace

Let’s use the Search tab to find the desired image among the ones, available within the official registry - just type its name (or part of it) to the input field and you’ll see the list of the closest results. Hovering over the particular template will show the additional information on it (if available) and the Install button, which should be clicked in order to choose this template.

3. In the opened window, select the type of installation - either new or existing environment:
  • in case of a new environment creation, you need to set a unique name for it and define the Region it will be placed at
  • for an existing one, just choose the desired Docker-based environment from the list of available ones

Don’t forget to select the correct Tag for your container from the appropriate list.

confirm Marketplace image installation

For this example, we’ll add the WP DB template to the already created jelastic/wordpress-web one (as together they can run this powerful web application). Click Install, when ready.

4. Wait until Jelastic automatically adds the container with the chosen Docker template inside to the specified environment (or creates a new one).

installing from Marketplace

You can minimize this window and continue working with the dashboard, while the installation process is performed in the background. installing in background

Once the creation is completed, you’ll be shown the corresponding pop-up message.

Docker image successfully installed

As a result, you’ll see your template is listed within the chosen/new environment.

Docker-based environment with Wordpress

5. The pair of containers from above will constitute an incredibly powerful Wordpress CMS after performing a simple linking of the db node to the web one under the DB alias (the Docker Links Configuration document will help you in case you have any questions on this) and restarting the wordpress-web container.

Once the application is up again, you can click Open in browser next to the web node (or next to the whole environment in case the abovementioned node is placed within the Application Server layer) and access our example instance of the Wordpress content manager.

Jelastic Docker image with Wordpress

Great! Now, if you need to make any changes to the environment topology or perform some key container configs, you can use the Topology Wizard for this. If some extra configurations with root access are needed, follow the SSH Access to Docker Container instruction or use the inbuilt Jelastic File manager (which can be opened by clicking on the wrench icon next to the appropriate node).