<a id="images"></a>

# Images

Zadara Container Service (ZCS) makes it possible to run arbitrary
processing tasks from directly inside the storage. This is possible due
to Zadara’s convergence of Docker Container technology into the Zadara
Engines. The benefit of data processing inside the storage, rather on a
connected Server, is the direct, low latency access to the data Volumes.

## Adding ZCS Engines

In order to run ZCS Containers within a VPSA a ZCS engine is needed in
addition to the IO engine. The ZCS engine contains the compute resources of
the VPSA’s Virtual Controllers that are allocated for the Docker Container.

The ZCS can be added when the VPSA is originally created, as described
in [Creating a VPSA](first-steps.md#creating-vpsa), or it can be added at a later time.

To add a ZCS engine go to the Zadara Provisioning Portal, select the
relevant VPSA, click Change Engines and select the engine size
that fits the needs of the application that will run in the Container.

![image114](media/image114.png)

## Creating an Image Repository

This one-time operation is needed in order to reserve some storage
space for storing all of the Container images you plan to use.

To create an Image Repository, open the
VPSA GUI > Settings > Container Service
tab and click Edit on the Image Repository section.
Select the Pool that will host the Image Repository.

![image115](media/image115.png)

## Creating a Container Image

Before you can create a Container its Image must be entered into the
Image Repository. You can take the image from any NAS share, or download
it from Docker Hub ([https://hub.docker.com](https://hub.docker.com)).

To place an Image into the Image Repository open the VPSA GUI > Images
and click Create.

![image116](media/image116.png)

In the dialog that opens, give a name for the new Docker Image and select if
you want to download the image from a Docker Hub or if you want to load
it from a NAS share on this VPSA. Click Next .

![image117](media/image117.png)

Search for and select the Image and click Create .

![image118](media/image118.png)
