Bonjour à tous,

Voici quelques jours, je m'intéresse à Linux et Docker. J'ai réussi à mettre en oeuvre une stack pour le développement d'applis. Mais j'aimerai rendre les choses plus pratique.
Je suis tomber sur ce bout de script dans la doc Docker pour installer composer.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
composer () {
    tty=
    tty -s && tty=--tty
    docker run \
        $tty \
        --interactive \
        --rm \
        --user $(id -u):$(id -g) \
        --volume /etc/passwd:/etc/passwd:ro \
        --volume /etc/group:/etc/group:ro \
        --volume $(pwd):/app \
        composer "$@"
}
La page où j'ai trouvé le code : https://hub.docker.com/_/composer/

Concrètement et si j'ai bien compris, cela permet, depuis la machine hôte (physique) d'exécuter composer sans devoir entrer dans le container Docker via docker exec -it XXXXX bash.
Mais il y a de nombreux signes cabalistiques dont je ne comprends pas le sens.

ex: tty= tty -s && tty=--tty

J'ai bien compris que c'est relatif au terminal mais je ne comprends pas ce que cela veut dire. Et la recherche Google n'a rien donné de probant. Pourquoi tty= tty=--tty???

Idem pour : user $(id -u):$(id -g) comme ça, je dirai que c'est pour récupérer le nom d'utilisateur et le groupe de l'utilsateur actif dans le container.

--volume $(pwd):/app \ Alors là? Accéder à une ressources en utilsant un password style monpassword/MaRessource ?

Pour composer "$@", j'imagine que $@ récupère les paramètres fournis lorsque je tape la commande dans la ligne de commande de l'hôte.

Dernière question, je peux modifier ce code pour autre chose? Par exemple lancer un redis-cli ou un terminal python dockerisé directement depuis l'hôte? Je ne vois pas de contre indication mais des fois que...


Merci d'avance pour vos éclaircissement
Cordialement,