# Composer Kommandos via Docker direkt ausführen Mit Docker ist es möglich, `composer` und andere Kommandozeilenwerkzeuge wie [[webworking:cms:drupal:drush:start|Drush]], Gulp und viele weitere, direkt auszuführen. Im Folgenden beschreibe ich die Möglichkeit am Beispiel von Composer. Ein neues Projekt kann mit Composer so angelegt werden: docker run --rm --interactive --tty --user $(id -u):$(id -g) --volume $PWD:/app composer create-project ... Das `--rm` sorgt dafür, dass der Container nach dem Ausführen des Kommandos direkt wieder entfernt wird. Um beispielsweise ein neues Drupal 8 Projekt im aktuellen Verzeichnis anzulegen, sieht der Befehl wie folgt aus: ``` docker run --rm --interactive --tty --user $(id -u):$(id -g) --volume $PWD:/app composer create-project some-dir --stability dev --no-interaction ``` Und weil der `docker run` Befehl mit den Parametern ziemlich lang ist, kann dafür auch eine kleine Shell Funktion angelegt werden. Einfach die Funktion in die lokale `.bashrc` oder `.zshrc` eintragen: ``` 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 "$@" } ``` Danach kann direkt der `composer` Befehl auf der Kommandozeile verwendet werden. Ausgeführt wird dieser dann in einem Docker Container und man spart sich die Installation mit den Abhängigkeiten auf der lokalen Maschine. Das ist besonders praktisch, wenn man öfter `composer` Kommandos lokal ausführen möchte. Weitere Informationen zum Composer Docker Image: [[https://hub.docker.com/_/composer/|Docker Composer image]] {{tag>docker composer drupal8}}