Utiliser Docker sur sa machine locale (linux)

Installer Docker sur une machine Linux/Ubuntu

Pour l’installation de Docker il faut commencer par préparer l’environnement nécessaire au programme pour fonctionner. Ensuite suivre les instructions d’installation. La marche à suivre complète et à jour est à retrouver sur le site de Docker

Une fois que Docker est installé et fonctionnel vous pouvez commencer. Toutefois j’ai quelques conseils pour vous éviter quelques recherches et ennuis au démarrage.

Bien régler ses permissions

Dans mon installation locale je me suis froté à plusieurs soucis. Voici de quoi vous éviter les mêmes :

  • Pour commencer et éviter d’avoir à exécuter Docker en sudo et éviter autant que possible les conflits de permissions sur l’édition des fichiers, j’ai ajouté mon utilisateur local courant julien dans le groupe Docker (julien:Docker) avec la ligne de commande suivante :

    sudo usermod -a -G docker $USER
    

    (source)

  • Pour pouvoir continuer à éditer mes fichiers en cours de développement (thème ou plugin Wordpress par exemple) tout en les rendant utilisables par mon conteneur Docker j’ai attribué les fichiers en cours de travail à l’utilisateur julien:www-data avec la commande :

    sudo chown julien:www-data mesfichiers -R
    

    Si vous n’avez pas fait cela il est possible que votre site ne détecte pas vos fichiers ou ne puisse pas les exécuter s’ils sont attribué à votre utilisateur (julien:julien dans mon cas) ou que vous ne puissiez pas les éditer (root:root ou www-data:www-data sont ce à qui les fichiers sont attribués souvent dans ce cas).

  • Dans le cas d’une installation Wordpress il faudra peut être attribuer le dossier uploads à www-data:www-data pour permettre la création de dossiers par le système (upload d’images etc.)

Utilisation de volumes pour sauvegarder son travail

Comme je l’expliquais dans le post précédent un volume permet d’avoir des fichiers qui sont utilisés par le conteneur qui sont stockés hors de celui-ci. Cela nous permet de les éditer facilement et de ne pas les perdre en cas de suppression du conteneur.

Exemple de cas d’usage : j’ai un plugin en développement que je veux sauvegarder dans mon cloud autohébergé. Dans mon fichier docker-compose.yml j’ajoute la ligne suivante

volume :
   - /home/julien/Nextcloud/monplugin:/var/www/html/wp-content/plugins/monplugin

Équivalent en ligne de commande :

docker run -d \
 --name=nomdemonconteneur \
 -v /home/julien/Nextcloud/monplugin:/var/www/html/wp-content/plugins/monplugin \
 wordpress:latest

Dans le cas d’un Wordpress nous sauvegarderons tous les dossiers hors du conteneur mais nous verrons cela dans le tutoriel dédié.

Conclusion

Avec ces quelques conseils vous devriez pouvoir configurer et utiliser Docker tout en éditant les fichiers sur lesquels vous travaillez sur votre machine locale.

Si certains concepts vous échappent ou que vous ne connaissez pas encore l’intérêt que peut avoir Docker pour l’utilisation de votre serveur, je vous renvoie à mon introduction à Docker pour les complets débutants.

Julien G. - - Retour au blog