Curso odoo (Módulos)
Aquí tienes los pasos detallados para montar un contenedor de Odoo tanto en Windows como en macOS usando Docker:
Paso 1: Instalar Docker
Primero, necesitas instalar Docker en tu sistema.
En Windows:
- Ve a la página oficial de Docker: Docker Desktop para Windows.
- Descarga e instala Docker Desktop para Windows.
- Asegúrate de que Docker está corriendo. Puedes verificarlo abriendo la terminal (PowerShell o CMD) y ejecutando:
1docker --version
En macOS:
- Ve a la página oficial de Docker: Docker Desktop para Mac.
- Descarga e instala Docker Desktop para macOS.
- Verifica la instalación abriendo la terminal y ejecutando:
1docker --version
Paso 2: Descargar la imagen de Odoo
Odoo tiene una imagen oficial en Docker Hub. Abre una terminal (CMD o PowerShell en Windows, Terminal en macOS) y ejecuta el siguiente comando para descargar la imagen oficial de Odoo:
1docker pull odoo
Paso 3: Crear una red de Docker (opcional pero recomendable)
Esto te permite conectar contenedores de manera más fácil. Para crear una red, ejecuta:
1docker network create odoo-network
Paso 4: Ejecutar un contenedor de PostgreSQL
Odoo requiere una base de datos PostgreSQL para funcionar. Vamos a crear un contenedor de PostgreSQL usando la imagen oficial de PostgreSQL.
En ambos sistemas (Windows/macOS):
-
Ejecuta el siguiente comando para iniciar un contenedor de PostgreSQL:
1docker run -d --name odoo-postgres --network odoo-network -e POSTGRES_DB=postgres -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo postgres:13--name odoo-postgres: Nombra el contenedor comoodoo-postgres.--network odoo-network: Conecta el contenedor a la red personalizadaodoo-network.-e POSTGRES_DB=postgres: Define la base de datos por defecto comopostgres.-e POSTGRES_USER=odoo: Define el usuario de la base de datos comoodoo.-e POSTGRES_PASSWORD=odoo: Define la contraseña para el usuario de la base de datos.
Paso 5: Ejecutar un contenedor de Odoo
Ahora puedes ejecutar el contenedor de Odoo:
En ambos sistemas (Windows/macOS):
-
Ejecuta el siguiente comando para iniciar el contenedor de Odoo:
1docker run -d --name odoo --network odoo-network -p 8069:8069 -e HOST=odoo-postgres -e DB_USER=odoo -e DB_PASSWORD=odoo odoo--name odoo: Nombra el contenedor comoodoo.--network odoo-network: Conecta el contenedor a la red personalizadaodoo-network.-p 8069:8069: Expone el puerto 8069 en tu máquina local para acceder a la interfaz web de Odoo.-e HOST=odoo-postgres: Conecta el contenedor de Odoo al contenedor de PostgreSQL que ejecutamos previamente.-e DB_USER=odoo: Define el usuario de la base de datos en Odoo.-e DB_PASSWORD=odoo: Define la contraseña de la base de datos en Odoo.
Paso 6: Acceder a Odoo
-
Abre un navegador web y ve a la siguiente dirección:
-
Deberías ver la pantalla de configuración de Odoo donde podrás crear una nueva base de datos para comenzar a usar Odoo.
Paso 7: Detener y eliminar los contenedores (si es necesario)
Si necesitas detener o eliminar los contenedores en algún momento, puedes usar los siguientes comandos:
-
Para detener los contenedores:
1docker stop odoo odoo-postgres -
Para eliminar los contenedores:
1docker rm odoo odoo-postgres
Paso 8: (Opcional) Volúmenes de Docker
Si deseas persistir los datos de Odoo y PostgreSQL entre reinicios de contenedores, puedes montar volúmenes en los contenedores. Por ejemplo:
-
Para el contenedor de PostgreSQL:
1docker run -d --name odoo-postgres --network odoo-network -e POSTGRES_DB=postgres -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo postgres:13 -
Para el contenedor de Odoo Mac y Linux:
1mkdir ~/extra-addons 2docker run -d --name odoo --network odoo-network -p 8069:8069 -e HOST=odoo-postgres -e DB_USER=odoo -e DB_PASSWORD=odoo -v odoo-data:/var/lib/odoo -v ~/extra-addons:/mnt/extra-addons odoo -
Para el contenedor de Odoo Windows:
1mkdir ~/extra-addons 2docker run -d --name odoo --network odoo-network -p 8069:8069 -e HOST=odoo-postgres -e DB_USER=odoo -e DB_PASSWORD=odoo -v C:\odoo\modulos:/mnt/extra-addons odoo
De esta forma, los datos de ambos contenedores estarán almacenados en volúmenes persistentes de Docker, y podrás reiniciar los contenedores sin perder información.