Cómo ejecutar 2 comandos con docker exec
Necesito ejecutar 2 comandos con docker exec. Estoy copiando un archivo del contenedor docker y no quiero tener que lidiar con credenciales para usar algo como ssh. Este comando copia un archivo:
sudo docker exec boring_hawking tar -cv /var/log/file.log | tar -x
Pero crea un subdirectorio var / log, quiero evitar eso así que si pudiera hacer esto en el contenedor docker debería ser bueno:
cd /var/log ; tar -cv ./file.log
¿Cómo puedo hacer que docker exec ejecute 2 comandos?
3 answers
Esto llevó a la respuesta: Carácter de escape en la línea de comandos de Docker Terminé haciendo esto:
sudo docker exec boring_hawking bash -c 'cd /var/log ; tar -cv ./file.log' | tar -x
Así que funciona, más o menos, ejecutando el comando one bash con un parámetro que son los 2 comandos que quiero ejecutar.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:30
Muy a menudo, la necesidad de varios comandos es cambiar el directorio de trabajo - como en la pregunta del OP.
Para eso, docker ahora tiene una opción -w
para especificar el directorio de trabajo. Por ejemplo, en el presente caso
docker exec -w /var/log boring_hawking tar -cv ./file.log
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-30 05:22:57
Si alguien más vino aquí para la respuesta impresionante, pero también quiere una mejor manera de resolver el problema original de OP (OP's OP..?) para copiar un archivo de un contenedor docker, ahora hay un comando docker cp
que hará esto: https://docs.docker.com/engine/reference/commandline/cp /
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-10 20:02:55