Notre dokuwiki dans docker

Docker

  • Docker sur Wikipedia
  • Conteneur sur Wikipedia.
  • 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

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/data:/data -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:

Test de la limitation du nombre de média affichés dans le media manager

Proposition:

Kill

Pour killer un conteneur, il existe quelques commandes pour lister les conteneurs démarrés et les tuer :

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)
  • dokuwiki_dans_docker.txt
  • Dernière modification: 2019/10/11 15:36
  • par serge