Desde hace algún tiempo, he venido trabajando-investigando con docker, tiempo en el cual he solventado algunos pequeños escollos a medida que se me han ido presentando.
Estos posts, de la serie docker, relatarán dichas peripecias.
En esta oportunidad, necesitaba ingresar como root dentro de un contenedor de docker sobre el cual funcionaba odoo; luego de leer la documentación [1], di con la instrucción precisa:
docker exec -u root -it odoo /bin/bash
La explicación de este comando es:
- docker exec= ejecuta un comando docker dentro de una instancia determinada
- -u root = usuario que ejecutará el comando, es importante notar que acá puede utilizarse tanto el nombre del usuario como uid del mismo
- -it = esto es la unión de dos parámetros, -i -t, los cuales indican, respectivamente, ejecutar el comando de forma interactiva (-i) y crear una pseudo tty (-t) para “enganchar” un comando en específico. Es importante recordar que un contenedor es una máquina y que para acceder a la misma necesitamos “engancharnos”, esto es crear un pseudo dispositivo sobre el cual se anexará un comando
- odoo = en esta secuencia es el nombre del contenedor sobre el cual se ejecutará la acción
- /bin/bash = acá significa que esta es la orden a ejecutar
En resumidas, el comando dice
Crea un consola bash dentro del contenedor de nombre odoo y en la misma ingresa al usuario root
Espero les sea de ayuda
[1] https://docs.docker.com/engine/reference/commandline/exec/#options