Pour tester notre stack Alfresco Docker Cloud, sans impacter notre environnement de travail, une solution est d’installer une machine virtuelle à partir de docker-machine, ce qui facilite beaucoup l’intégration avec docker.

Note : On utilise la même procedure pour faire des déploiements sur les clouds providers (AWS, GCE, Azur, OVH, etc.) voir la liste des drivers disponibles : https://docs.docker.com/machine/drivers/

Nous avons choisi de créer une machine virtuelle sur virtualbox comme le permet docker-machine. En pré-requis, il est nécessaire d’installer les composants suivants :

Nous allons créer une machine avec 4Go de RAM grâce à l’option virtualbox-memory. Sans précision la machine aura 8Mo, ce qui est insuffisant pour installer la stack Alfresco Docker Cloud.

$ docker-machine create --driver virtualbox --virtualbox-memory "4096" <nom_de_la_machine>
Running pre-create checks...
Creating machine...
(test-vm) Copying /home/cindy/.docker/machine/cache/boot2docker.iso to /home/cindy/.docker/machine/machines/test-vm/boot2docker.iso...
(test-vm) Creating VirtualBox VM...
(test-vm) Creating SSH key...
(test-vm) Starting the VM...
(test-vm) Check network to re-create if needed...
(test-vm) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env test-vm

Une nouvelle machine vient d’être créée, ainsi que le jeu de clefs nécessaire pour s’y connecter qui se trouve dans ~/.docker/machine/machines/<nom_de_la_machine>.

La commande VboxManage list vous permet de visualiser la machine qui vient d’être créée par docker-machine dans virtualbox :

$ VBoxManage list runningvms
"test-vm" {2789f25e-99df-4ec6-9864-f0e17f5914ba}

Il reste à installer alfresco sur cette machine avec docker-compose. Comme vu dans un précédent article, Alfresco Docker Cloud.

Dans un premier temps, on doit indiquer à docker de parler avec la machine nouvellement créée. On peut le faire avec la commande :

$ eval "$(docker-machine env <nom_de_la_machine>)"

Pour visualiser la machine docker active vous pouvez effectuer la commande ci-dessous et voir un asterix * dans la colonne ACTIVE :

$ docker-machine ls
NAME         ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
test-vm      *        virtualbox   Running   tcp://192.168.99.103:2376           v18.09.9

Une fois votre shell connecté à la nouvelle machine, nous pouvons lancer docker-compose pour installer alfresco sur cette machine.

wget https://raw.githubusercontent.com/jeci-sarl/alfresco-docker-cloud/master/docker-compose.yml
$ docker-compose up -d

Pour connaitre l’ip de la machine, il faut utiliser l’instruction docker-machine ip

$ docker-machine ip <nom_de_la_machine>
192.168.99.103

Le serveur alfresco est accessible à l’adresse : http://192.168.99.103:8080/share avec les identifiants admin / admin.

Une fois terminé vous pouvez arrêter la machine :

$ docker-machine stop <nom_de_la_machine>

ou la supprimer :

$ docker-machine rm <nom_de_la_machine>