Docker | Créer mon environnement de développement
Bonjour et bienvenue dans mon premier tutoriel où aujourd’hui je vais vous présenter comment préparer votre environnement de développement web avec le gestionnaire de conteneur Docker.
C’est quoi Docker? (d’après Wikipédia)
Docker est un logiciel libre qui automatise le déploiement d’applications dans des conteneurs logiciels. Selon la firme de recherche sur l’industrie 451 Research, « Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur virtuel, qui pourra être exécuté sur n’importe quel serveur Linux ». Ceci permet d’étendre la flexibilité et la portabilité d’exécution d’une application, que ce soit sur la machine locale, un cloud privé ou public, une machine nue, etc.
Installation
Notre environnement de travail est Windows 10.
En vérité Docker ne fonctionne que sur un environnement Linux. Heureusement, qu’on a une machine virtuelle légère qui nous permet de tourner Docker sur un environnement Windows. Cette outil est Docker Toolbox.
On va pas détailler l’installation de cette outil. Puisque c’est une installation classique.
Partage de votre dossier de travail dans Virtualbox
Ouvrez VirtualBox, faite une clique droite sur la machine virtuel docker(par défaut : default) puis cliquez sur configuration.
Dans l’onglet “Dossiers partagés”, ajouter un nouveau dossier partagé en saisissant le chemin du dossier sur votre machine et sont nom dans logique sur la machine virtuel.
Démarrer notre conteneur Docker
Pour démarrer le conteneur, ouvrez l’invite de commande de Windows et tapez cette ligne de commande.
docker-machine start default
default : c’est le nom par défaut de votre machine virtuelle dans VirtualBox.
Ouvrir une session SSH
Pour ouvrir une session SSH, tapez cette ligne de commande.
docker-machine ssh default
Préparation de notre environnement de développement Web avec Docker:
Dans cette partie, nous allons procédés à la préparation et la configuration de notre environnement de travail.
Les conteneurs qu’ont va installer dans ce tutoriel sont:
- Apache2 (eboraas/apache-php)
- Mysql (mysql)
- Git (boomtownroi/git)
- Composer
- PhpMyAdmin (corbinu/docker-phpmyadmin)
Pour cela on va utiliser un autre outil qui va nous assurer la configuration et la liaison entre les différents conteneurs. Cette outil est docker compose qui est installer avec Docker Toolbox. Donc commençons par configurer docker compose.
Docker compose
Pour configurer docker compose, c’est simple il suffit de créer un fichier docker-compose.yml dans D:\Sites\docker (docker sera le dossier qui contiendra les fichiers de configurations).
Voici le contenu du fichier docker-composer.yml :
web: # build => Ici on definit le dossier qui contient le fichier Dockerfile dont on l'expliquera tout à l'heure. build: docker working_dir : /var/www ports: - "80:80" - "443:443" volumes: - /var/sites:/var/www - /var/sites/docker/php.ini:/etc/php5/apache2/conf.d/30-custom.ini - /var/sites/docker/ssl/ssl.conf:/etc/apache2/sites-enabled/default-ssl.conf - /var/sites/docker/sites:/etc/apache2/sites-enabled links: - git - mysql - maildev - composer mysql: image: mysql volumes: - /var/lib/boot2docker/mysql:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=root composer: image: composer/composer git: image: boomtownroi/git maildev: image: djfarrelly/maildev ports: - "1080:80" phpmyadmin: image: corbinu/docker-phpmyadmin ports : - "8080:80" environment: - MYSQL_USERNAME=root - MYSQL_PASSWORD=root links: - mysql