Formation PUB020 : WordPress, 2023 Travailler avec Devilbox

2.1 Accéder au terminal d'un conteneur Docker


Lorqu'on travaille dans un environnement Docker, par exemple avec Devilbox, il est possible d'accéder à une fenêtre Terminal pour les différents conteneurs de cet environnement.

Pour y arriver :

  • Il faut d'abord connaître le nom exact du conteneur désiré.
    Terminal

    cd /chemin/devilbox
    docker ps

    Le nom de chaque conteneur est dans la colonne NAMES complètement à droite.
    Résultat à l'écran

    monnom@MacBook-Pro-de-MonNom devilbox %docker ps
    CONTAINER ID   IMAGE                             COMMAND                  CREATED       STATUS          PORTS                                        NAMES
    9cdb39feb510   postgres:12.4                     "docker-entrypoint.s…"   11 days ago   Up 20 minutes   0.0.0.0:5432->5432/tcp                       devilbox-pgsql-1
    89906f6c9edf   devilbox/mysql:mariadb-10.5-0.8   "/docker-entrypoint.…"   11 days ago   Up 20 minutes   0.0.0.0:3306->3306/tcp                       devilbox-mysql-1
    b46406a4bac5   memcached:1.6                     "docker-entrypoint.s…"   11 days ago   Up 20 minutes   0.0.0.0:11211->11211/tcp                     devilbox-memcd-1
    ef7e3df27261   redis:6.0                         "docker-entrypoint.s…"   11 days ago   Up 20 minutes   0.0.0.0:6379->6379/tcp                       devilbox-redis-1
    7b63d432d00f   mongo:4.4                         "docker-entrypoint.s…"   11 days ago   Up 20 minutes   0.0.0.0:27017->27017/tcp                     devilbox-mongo-1
    6929d153806c   devilbox/nginx-stable:0.40        "/docker-entrypoint.…"   11 days ago   Up 20 minutes   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp     devilbox-httpd-1
    5d0810514986   devilbox/php-fpm:7.4-work-0.134   "/docker-entrypoint.…"   11 days ago   Up 20 minutes   9000/tcp                                     devilbox-php-1
    a080ae7250a2   cytopia/bind:0.15                 "/docker-entrypoint.…"   11 days ago   Up 20 minutes   0.0.0.0:1053->53/tcp, 0.0.0.0:1053->53/udp   devilbox-bind-1

  • Il est désormais possible d'accéder au terminal du conteneur désiré. Par exemple, pour accéder à la ligne de commande PHP :
    Terminal

    docker exec -it devilbox-php-1 bash

    Ce terminal permet notamment d'accéder aux fichiers du site Web et de lancer une commande Git.
  • Le conteneur MySQL est un autre conteneur pour lequel la ligne de commande est souvent utile.
    Terminal

    docker exec -it devilbox-mysql-1 bash

    Vous pouvez désormais ouvrir la console MySQL :
    Terminal du conteneur MySQL

    mysql -u root -p

  • Pour sortir du terminal :
    Terminal du conteneur MySQL

    exit

Scripts pour faciliter votre travail avec Devilbox

Personnellement, j'aime travailler avec trois petits scripts qui facilitent mon travail avec Devilbox.

Je vous les présente ici avec un nom qui se termine par .command puisque je travaille sous Mac. Avec un ordinateur Windows, il suffit de changer l'extension par .bat.

Ces scripts offrent plusieurs avantages :

  • Ils permettent d'effectuer une action sans avoir à retenir les commandes, leur syntaxe ou le nom des conteneurs.
  • Il suffit de double-cliquer sur le nom du fichier pour que les commandes qu'il contient soit exécutées.
  • Vous pouvez placer ces fichiers n'importe où sur votre poste de travail. 

Le premier script sert à lancer Devilbox.

Fichier DemarrerDevilbox.command

cd /chemin/devilbox
docker-compose up

Le second sert à ouvrir un terminal PHP.

Fichier DemarrerDevilbox.command

cd /chemin/devilbox
docker exec -it devilbox-php-1 bash

Le troisième sert à ouvrir un terminal MySQL. 

Fichier DemarrerDevilbox.command

cd /chemin/devilbox
docker exec -it devilbox-mysql-1 bash

Pour commencera avec MySQL, il ne me reste plus qu'à lancer cette comande pour ouvrir la console MySQL.

Terminal

mysql -u root -p

Remarque : dans le dossier devilbox, vous trouverez un fichier shell.bat et un fichier shell.sh qui permettent d'accéder au terminal PHP dans un environnement Windows et macOS respectivement.

Cependant, la version .command que je vous ai préssentée offre l'avantage de fonctionner directement à partir du Finder.

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre