Note
En el repositorio de ClassRoom del módulo podeis encontrar una carpeta en la que se encuentran todos los archivos necesarios para la instalación de Odoo con Docker. ⛓️💥
Se pide que hagas lo siguiente, insertando respuestas y capturas en un documento Word:
-
1-. En este proyecto, ejecuta los comandos necesarios para hacer que Odoo funcione. Adjunta captura.
El comando necesario para ello es:
docker-compose up
-
2-. Al ejecutar el
docker-compose
en el paso anterior, ya tienes una instancia dePostgress
corriendo tanto en tu local como en tú contenedor. ¿Por qué?Porque en el archivo
docker-compose.yml
tenemos instanciado que nos descargue y ejecute la imagen depostgress:15
-
3-. Metete en DBeaver para poder acceder a las tablas de Odoo insertadas en postgres y adjunta capturas del proceso.Tendrás que hacer la conexión con los datos de la db que hay en el
docker-compose.yml
¿Qué puerto utilizas para la conexión?Usando el puerto
5430
, debido a que el puerto5432
estaba ya reservado por postgres de Windows hubo que cambiarlo en el archivodocker-compose.yml
. -
4-. ¿Qué significan estas variables de entorno en el servicio de Postgress?
environment: - POSTGRES_DB = odoo - POSTGRES_USER = odoo - POSTGRES_PASSWORD = odoo
Permiten definir los parametros nombrados en ellas al ejecutar el contenedor. En este caso son:
- El nombre de la base de datos.
- El usuario de la base de datos.
- La contraseña de la base de datos.
-
5-. ¿Qué significan estas variables de entorno en el servicio de Odoo?
environment: - HOST = db - USER = odoo - PASSWORD = odoo
Permiten definir los parametros nombrados en ellas al ejecutar el contenedor. En este caso son:
- El nombre del host de Odoo.
- El usuario de Odoo.
- La contraseña de Odoo.
-
6-. ¿Qúe relación hay entre ellas?
La contraseña que se usa para establecer la base de datos de
odoo
es la misma que se usa para ingresar a la base de datos desdepostgres
. -
7-. Usando
- usuario: admin - contraseña: admin
accede a Odoo (
localhost:8069
), adjunta capturas. -
8-. ¿Qué hace exactamente esto y qué relación tiene con lo que hemos visto en clase?
- ./config:/etc/odoo - ./addons:/mnt/extra-addons - ./logs:/var/log/odoo
Establece volumenes. Esto hace que por ejemplo el directorio 📂
./config
del host se enlace con la carpeta 📂/etc/odoo
del contenedor. Y así con el resto de carpetas -
9-. ¿Qué tabla interna de
Odoo
tiene los datos de los usuarios con sus contraseñas? Adjunta captura.Esta tabla es la tabla 📊
res_users
la cual guarda las contraseñas encriptadas y los nombres de usuarios. -
10-. Se pide que ejecutes
docker cp
para traerte los módulos nativos deOdoo
a tu local. Una vez hecho esto, vuelve a crear eldocker-compose
ejecutando unbindMount
con los módulos nativos de tu local enlazados a la carpeta de 📂Odoo
desde la que te los trajiste. Adjunta capturas del proceso.
Note
Es posible que al hacer el docker cp
no se copien todos los módulo por espacio. Una solución es meteros dentro del contenedor, comprimir los archivos, y copiarlos a local. Una vez en el local, descomprimirlos.
Escribimos lo siguiente:
docker psy comprobamos que id tiene el contenedor. Esto será necesario para poder usar
docker cp
luego.Luego de tener el id del contenedor, escribimos el siguiente comando:
docker cp <container_id>:/usr/lib/python3/dist-packages/odoo/addons addons/Esto nos permite copiar contenido desde el contenedor a la máquina local
Pero antes debemos comprimir el directorio
Una vez comprimido, salimos del contenedor, y procedemos a copiar el archivo
Ahora solo nos queda modificar el archivo
docker-compose.yml
para hacer unbindMount
Para ello añadimos la siguiente linea al
docker-compose.yml
:- ./native-addons:/usr/lib/python3/dist-packages/odoo/addons
y reniciamos con los siguientes comandos
docker-compose down docker-compose up -d