Siguiendo con los tutoriales sobre Docker, os voy a explicar cómo podemos ejecutar un comando dentro de un contenedor de Docker y utilizando la consola de Ubuntu.

Si tenemos este Docker Compose de ejemplo cogido del tutorial Desplegar servidor web Apache con PHP utilizando Docker Compose
version: "3"
#Indicamos la version docker compose que utilizamos
#Y luego los servicios que vamos a implementar
services:
#Aquí indicamos el nombre que queramos
mi_servicio_apache:
#Imagen de APACHE con PHP
image: php:7.0-apache
container_name: apache-container
volumes:
#Carpeta donde guardaremos los archivos web : carpeta interna de Docker
- ./www/:/var/www/html
expose:
#Puerto que queremos exponer a para poder compartirlo con otros contenedores
- 80
ports:
# Puerto de nuestra máquina : puerto dentro de Docker (siempre va a ser el 80 para apache o 443 para SSL)
- 80:80
Con este comando podremos ejecutar cualquier comando dentro de un contenedor Docker
sudo docker exec apache-container service apache2 reload
El comando funciona de la siguiente forma, primero ponemos Docker exec y a continuación ponemos el nombre del contenedor Docker Compose. El nombre del contenedor lo indicamos en el campo container_name: apache-container dentro de nuestro archivo docker-compose.yml . En este ejemplo estoy reiniciando apache2, pero podemos incluso instalar o actualizar paquetes dentro del contenedor.
Si lo que queremos es copiar archivos desde la máquina al contenedor Docker, tenemos que poner el siguiente comando.
sudo docker cp /index.html apache-container:/var/www/html/index.html
En este ejemplo, copiamos un archivo llamado index.html qué está en nuestra máquina en la raíz dónde ejecutamos este comando a la carpeta de var/www/html/index.html dentro del contenedor apache-container de nuestro Docker Compose.
Y si queremos hacer el proceso inverso ponemos lo siguiente
sudo docker cp apache-container:/index.html /var/www/html/index.html
En este caso copiamos el archivo en raíz de la ruta del contenedor (con ls podemos ver la ruta) al directorio /var/www/html/ de nuestra máquina.

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.