Ejecutando el administrador de packages dentro de la window acoplable

Creé una image para el desarrollo de PHP, y me quedó claro que realmente no pensé en cómo acceder a las herramientas que necesito para el desarrollo diario. Por ejemplo: compositor, administrador de packages para PHP, necesito que se ejecute siempre que se actualice el composer.json. Pensé que vale la pena instalar esas herramientas dentro de la misma image, pero luego no tengo forma de acceder a ellas. Así que puedo:

  1. Crea una image separada para el compositor y ejecútala en un contenedor diferente
  2. Instalar el compositor en mi máquina host.

Me gustaría evitar la opción 2), pero entonces, ¿tiene sentido tener una configuration como 1)? ¿Cómo resolvieron ustedes este problema?

A less que tenga algunos requisitos bastante específicos, hay una tercera opción:

Conéctese al contenedor mediante el command docker exec :

docker exec -it CONTAINER-NAME/ID COMMAND [ARG...] 

Aquí está el ejemplo:

1: Crea tu aplicación:

 echo "<?php phpinfo();" > index.php 

2: contenedor de inicio:

 docker run -it --rm --name my-apache-php-app -p 80:80 -v "$PWD":/var/www/html php:5.6-apache 

3: abra otra window de terminal y ejecute los commands requeridos dentro del contenedor en ejecución:

 docker exec -it my-apache-php-app curl -sS https://getcomposer.org/installer | php docker exec -it my-apache-php-app ls 

Si necesita un contenedor dentro del contenedor en ejecución, ejecute:

 docker exec -it my-apache-php-app bash 

¡Eso es!