====== Notre dokuwiki dans docker====== =====Docker ===== * **[[https://fr.wikipedia.org/wiki/Docker_(logiciel)|Docker]]** sur Wikipedia * [[https://fr.wikipedia.org/wiki/Conteneur_(informatique)|Conteneur]] sur Wikipedia. * [[https://putaindecode.io/articles/introduction-a-docker/|https://putaindecode.io/articles/introduction-a-docker/]] Docker est une plateforme qui va vous permettre d'exécuter votre code à l'intérieur d'un conteneur indépendamment de la machine sur laquelle vous êtes ! Un conteneur ressemble à une machine virtuelle sauf qu'il n'embarque pas tout un système d'exploitation avec lui ce qui lui permet de s'exécuter en quelque secondes et d'être beaucoup plus léger. ===== Installation de docker ===== ====Installation==== Pour tester les modifications du code de dokuwiki, on peut utiliser un conteneur docker qui se chargera d'exécuter les modifications en test. * Cloner le repo contenant le dockerfile * Checkout la branche dokuwiki_in_volume * Construire l'image docker * Démarrer le conteneur docker en fournissant les sources php de dokuwiki et le repertoire de data * Voir le readme: [[https://github.com/mxbossard/docker-dokuwiki|docker-dokuwiki sur le github de max]] Explications des lignes de commandes : * Avec git on clone un dockerfile * Avec docker build on construit une image à partir du dockerfile * Avec docker run on utilise l'image fraichement construite pour lancé un conteneur git clone https://github.com/mxbossard/docker-dokuwiki.git cd docker-dokuwiki Le git comprend 2 branches: master et dokuwiki_in_volume La branche 'dokuwiki_in_volume' est paramétrée pour suivre la branche distante 'dokuwiki_in_volume' depuis 'origin'. Basculement sur la nouvelle branche 'dokuwiki_in_volume' git checkout dokuwiki_in_volume docker build -t dokuwiki_dev_env . Puis run décrit ci-dessous. ====Avec ressources.labomedia.org==== docker run -v /media/data/ressources.labomedia.org:/var/www -p 8000:8000 --rm dokuwiki_dev_env --rm supprime le container stocké dans /usr au kill décrit ci-dessous, sinon chaque relance de docker ajoute au système un gros paquet de Go et va remplir votre partition. ===== Utilisation ===== Dans un navigateur: * **[[http://localhost:8000|localhost:8000]]** =====Kill===== Pour killer un conteneur, il existe quelques commandes pour lister les conteneurs démarrés et les tuer : * [[https://docs.docker.com/engine/reference/commandline/ps/|docker ps]] * [[https://docs.docker.com/engine/reference/commandline/kill/|docker kill]] ====Exemple==== toto@127:~$ docker ps retourne CONTAINER ID IMAGE COMMAND BLABLA .... f0ea6dc0d062 dokuwiki_dev_env "/entrypoint.sh /usr…" ........... toto@127:~$ docker kill f0ea6dc0d062 ====Gestion des volumes==== Le montage des volumes avec -v copie le dossier en options dans /usr !!! WARNING! This will remove all local volumes not used by at least one container. docker volume prune docker ps -a -q retourne d32339d75d66 Suppression des containers sur le disque docker rm $(docker ps -a -q) {{tag>max sb outils_collaboratifs systeme_exploitation}}