Datafari on Docker

NOTE: This is the English version. For the French version, please scroll down.

UPDATE 08/08/16 : update of the post for Datafari v3

UPDATE 01/04/16 : beware that there is a bug with Docker toolbox 1.9.1 for the use of Cassandra (which is a component of Datafari). Update your Docker to 1.10+
https://github.com/docker/docker/issues/18180

This time, we’ll talk about the release of Datafari on Docker.

If you don’t know it yet, Docker is an emulation mechanism that works at a low level of the Linux kernel, hence making it faster than widespread technologies of virtualisation such as VMWare. As its name suggests, you can “dock” applications in an isolated manner, and it will work as a standalone system on your OS.

Although we recommend installing Datafari alone on systems when used in a productive environment, using Datafari on Docker allows you to quickly install Datafari without impacting the configuration and packages in place in your system. Just download the docker image, and the remainder is being taken care of by Docker.

To run it, start the following command line:

docker pull datafari/datafariv3 docker run -t -i -p 8080:8080 datafari/datafariv3

Note that once you trigger this command line, it automatically starts the datafari server, which you can access from your browser using :

http://localhost:8080/Datafari

If you need to change the port from which you access the datafari webpages, change in the command line the first part of the [host_port]:[container_port] parameter.

If you care a bit about security and want to change the credentials (thus requiring to edit the Datafari config files), or if you want to play with the Solr config files within the Datafari image, you need to connect to this image. By default, you can do so via the standard docker mechanism: ssh. As a reminder, check this page explaining the procedure to connect to your docker image via SSH.

The docker image relies internally on a Debian environnement, but the beauty of Docker is that this image can work on any OS that can run the Docker agent. This means the image will run on Windows, CentOS, Ubuntu, Mac, etc…

Note that we provide you with 2 flavors of the Datafari docker image:

1. The one available on the docker.com marketplace, which is a docker image. This image is run using the above mentioned command line, but is not flexible and uses a fixed version of Datafari.

2. The one available on github, which is not an docker image but a docker file. To run it, the command lines are different:
Download the docker file and store it in a folder.
From this folder, start the following command:

sudo docker build -t datafari .

Now you can run your datafari docker image:

docker run -t -i -p 8080:8080 -p 8983:8983 datafari/datafariv3

You can now launch your web brower and access the Datafari UI:  http://localhost:8080/Datafari

The default credentials are admin/admin.

This build file is more flexible as it allows you to play with docker parameters. Plus, it always uses the latest version of Datafari since it does a wget on the Datafari rep. Also, it will give you hints on the way we built our own Datafari docker image.

Again, we are always glad to hear feedback from you, so if please drop a message here, or do a quick tweet about it 🙂

French Version:

UPDATE 08/08/16 : Mise à jour du post pour Datafari v3

UPDATE 01/04/16 : Faîtes attention à ne pas utiliser la version 1.9.1 de Docker toolbox. Un bug est présent qui empêche le fonctionnement de Cassandra dans les containers (ce qui est le cas de Datafari). Il faut mettre à jour Docker Toolbox à partir de 1.10+
https://github.com/docker/docker/issues/18180

Dans cette entrée, nous parlerons de l’image Docker Datafari.

Si vous ne connaissez pas encore Docker, il s’agit d’un mécanisme d’émulation qui opère à bas niveau dans le noyau Linux, le rendant plus rapide que les technologies répandues de virtualisation telles que VMWare. Comme son nom le suggère, vous pouvez “docker” des applications de façon isolée (à l’image des containers dans les docks des ports), et une application dockée fonctionnera de manière isolée et autonome dans votre système d’exploitation.

Bien que dans les environnements de production, nous recommandions d’installer Datafari dans un système dédié, l’utilisation de l’image Datafari Docker vous permet de rapidement installer Datafari sans toucher à la configuration de votre système ni à ses packages en place. Vous avez juste besoin de télécharger l’image docker, et Docker s’occupe du reste.

Pour lancer l’image, executer la commande suivante:

docker pull datafari/datafariv3 docker run -t -i -p 8080:8080 datafari/datafariv3

Lorsque vous lancez cette commande, le serveur Datafari se lance automatiquement, et vous pouvez alors y accéder depuis votre navigateur internet, à l’url suivante:

http://localhost:8080/Datafari

Si vous voulez changer le port auquel vous connecter depuis le navigateur, changer dans la ligne de commande la première partie du paramètre [host_port]:[container_port].

Si vous vous souciez un peu de la sécurité et que vous voulez changer les codes d’accès (ce qui nécessite d’éditer des fichiers de config de Datafari), ou si par exemple vous voulez jouer avec les fichiers de config du Solr de Datafari, vous devez vous connecter à cette image. Par défaut, vous le faîtes en utilisant le mécanisme standard de Docker: ssh. Pour rappel, vous pouvez consulter cette page qui explique la procédure pour se connecter à son image docker via SSH.

Notre image Docker utilise en interne un environnement Debian, mais la beauté de Docker fait que cette image pourra tourner sous tout OS supportant l’agent Docker. Et donc notre image peut tourner sous Windows, Centos, Ubuntu, Mac, etc…

Nous vous fournissons Datafari sous Docker sous deux formes::

1. L’image Docker, disponible sur la place de marché de docker.com. Cette image s’execute par la commande mentionnée plus haut, mais n’est pas flexible et utilise une version fixe de Datafari.

2. Le docker file – et non pas l’image docker, disponible sur github. Pour la construire, executer les opérations suivantes:
Télécharger le docker file et mettez-le dans le repertoire de votre choix.
Allez dans ce repertoire, et lancez la commande suivante:

sudo docker build -t datafari .

Vous pouvez à present lancer votre image docker Datafari:

docker run -t -i -p 8080:8080 -p 8983:8983 datafari/datafariv3

Vous pouvez maintenant lancer votre navigateur et accéder à la page de Datafari :  http://localhost:8080/Datafari

Les identifiants par défaut sont admin/admin.

Ce fichier à builder est plus flexible car il vous permet de jouer avec les paramètres de Docker. De plus, il vous permet d’utiliser la dernière version de Datafari car il réalise un wget sur le repo github de Datafari. Enfin, il vous permet de comprendre comment nous construisons notre image Datafari, et donc vous pouvez vous en inspirer.

Pensez à nous laisser un message ou un commentaire si vous avez apprécier ce blog, ou faîtes un rapide tweet à ce sujet 🙂