Créer une image docker pour le mkframework

Introduction

Pour ceux qui ne connaisse pas docker je les invite à se rendre sur leur site https://www.docker.com
Dans ce tutoriel nous allons voir comment mettre en place une installation docker pour pouvoir developper facilement avec le mkframework

Installation de docker

Installons d'abord docker

Sous GNU/Linux:

  
curl 
-sSL https://get.docker.com/ | sh
    



note: vous pouvez l'installer sous windows et mac

Création du DockerFile

Vous pouvez créer un nouveau conteneur en créant un fichier DockerFile

Créer un répertoire "imageWebPhp5 puis ajouter un fichier DockerFile avec le code suivant

  
# This is a comment
FROM debian:jessie
MAINTAINER mika 
<mika@localhost>
RUN apt-get update && apt-get install -y apache2 subversion php5 php5-mysql libapache2-mod-php5
RUN a2enmod php5
RUN rm 
/var/www/html/* -f
RUN svn checkout http://subversion.developpez.com/projets/mkframework /var/www/html/
RUN chmod 777 -R /var/www/html/data/genere
CMD /usr/sbin/apache2ctl -D FOREGROUND

EXPOSE 80
   




Ici comme vous pouvez le voir
- on installe un serveur web apache,
- on active php5
- on fait le ménage dans le repertoire web
- on installe le framework dans ce repertoire web
- on démarre le serveur web apache en fond
Enfin on indique d'exposer le port 80 (utilisé par le serveur web apache)

C'est à dire que notre conteneur écoutera sur le port 80, tous les autres ports ne seront pas accessible depuis notre ordinateur.

On peut construire l'image avec un simple

  
docker build 
.
    



Vous devriez voir docker construire le container et fini ainsi:

  
Successfully built IDreference
   


L'id étant une suite de chiffre et lettre unique répresentant l'identifiant de votre container final

On peut ajouter un tag afin de simplifier l'usage plutot que de devoir taper cette suite de chiffre et lettre

Pour cela, listons les images avec

  
docker images
   



qui donnerait par exemple

  
mika
@mika-Latitude-3340:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              65130b01d0ff        5 hours ago         235.5 MB
debian              jessie              73e72bf822ca        5 weeks ago         123 MB
   



ici on souhaiterais faire un tag mkf plutot que d'utiliser 65130b01d0ff
on ferait avec cet exemple ainsi: (à adapter avec votre ID de conteneur bien sur)

  
docker tag 65130b01d0ff mkf
   



Docker va créer un tag mkf:latest

Pour lancer notre conteneur, vous pouvez faire un simple

  
docker run 
-d mkf:latest
   



Vous lancez ainsi en tache de fond votre conteneur fraichement créé