¡BIENVENIDO AL FORO DE ODOO ARGENTINA!

BRINDAMOS UN ESPACIO A LA COMUNIDAD ARGENTINA DE ODOO PARA CENTRALIZAR EL DEBATE, COMPARTIR IDEAS, DESARROLLOS, Y FORMAR PARTE DE UNA COMUNIDAD QUE CRECE DÍA A DÍA

¿No estás registrado?  REGISTRATE

Se marcó esta pregunta
2 Respuestas
16830 Vistas

Hola, despues de luchar, tengo todo montado y funcionando, para lo cual ahora me surge una duda...
Podria alguien ayudarme a migrar todo el entorno a un nuevo sistema, donde pretendo ya dejarlo mas en produccion.

La prgunta mia es como llevo los contenedores docker, o como harian ustedes para prepararse para levantar todo en otro servidor.

He seguido esta guia: http://linoxide.com/linux-how-to/backup-restore-migrate-containers-docker/ que creo que esta buena por si alguno quiere aprender algo de docker, que yo lo conoci a traves de la gente de adhoc.
Resumiendo, en la guia utilizo los comandos....

1) docker ps (veo los contenedores que tengo en ejecucion)
2) docker commit -p 30b8f18f20b4 container-backup (suponiendo que quiero copiar contenedor 30b8f18f20b4 y llamar la imagen "container-backup"
3) docker images (verifico que hay una imagen llamada "container-backup"
4) docker save -o ~/container-backup.tar container-backup (con esto hago un tar de la imagen)
5) me llevo el tar a otro servidor, instalo docker y RESTAURO.

A) docker load -i ~/container-backup.tar (cargo la imagen)
B) docker images (cequeo que la imagen que cargue este disponible)

 

ahora es donde me pierdo... 

  •  COMO DEBERIA EJECUTAR la imagen en el nuevo servidor?
  • Deberia traer tambien las imagenes de postgres y aeroo?

    Donde se podria charlar de esto, por que con el tema del karma y eso, las personas tienen una oportunidad sola de responder....  algo incomodo si me preguntan a mi el sistema de preguntas... :) 

    Gracias, y me gustaria poder terminar de entender esto para estar 100% tranquilo y seguro.

    MUCHAS GRACIAS.

 

Avatar
Descartar
Mejor respuesta

Daniel, disculpá te hago unas consultas porque ando un poco desorientado: si remuevo los dockers con sudo docker rm -f y luego los vuelvo a levantar, pierdo la información y configuración de la instalación de Odoo hecha hasta el momento? (inventario, clientes, fotos de productos, etc.). Los módulos fuera del contendedor son los que se encuentran en /odoo80/data_dir/.local/share/Odoo/addons/8.0? Copiando esa carpeta y la de "sources" + el backup hecho con el web data base manager, tengo un respaldo completo de la instalación de Odoo? gracias de antemano!

Avatar
Descartar
Mejor respuesta

Si los contenedores que estás usando, no tienen ninguna personalización extra, y las imágenes de estos se encuentran en Docker Hub, yo bajaría de vuelta la imagen desde el nuevo server, y sólo movería la base de datos y los módulos que están fuera del contenedor. Inclusive te diría que si lo hiciste todo según la configuración avanzada de Docker, la base de datos que quiero pasar a producción hago backup/restore. Me parece que no tiene mucho sentido estar copiando imagenes que están en Docker hub. 

En el caso que hayas personalizado contenedores, yo me crearía una cuenta en Docker Hub, y haría docker push de estos para crear una nueva imagen si es que tienen algo especial tuyo. O mejor aún si los construiste con un Dockerfile, ponelo en un repo de github, y vincula el repo con tu cuenta docker hub.

Avatar
Descartar

Daniel, disculpá te hago unas consultas porque ando un poco desorientado: si remuevo los dockers con sudo docker rm -f y luego los vuelvo a levantar, pierdo la información y configuración de la instalación de Odoo? (inventario, clientes, fotos de productos, etc.). Los módulos fuera del contendedor son los que se encuentran en /odoo80/data_dir/.local/share/Odoo/addons/8.0? Copiando esa carpeta y el backup hecho con el web data base manager, tengo un respaldo completo de la instalación de Odoo? gracias de antemano!

Daniel, disculpá te hago unas consultas porque ando un poco desorientado: si remuevo los dockers con sudo docker rm -f y luego los vuelvo a levantar, pierdo la información y configuración de la instalación de Odoo? (inventario, clientes, fotos de productos, etc.). Los módulos fuera del contendedor son los que se encuentran en /odoo80/data_dir/.local/share/Odoo/addons/8.0? Copiando esa carpeta y el backup hecho con el web data base manager, tengo un respaldo completo de la instalación de Odoo? gracias de antemano!

Vamos por partes:
- Si removes el contenedor de Odoo, y tenés un contenedor de la bdd separado, no perdés nada que esté en la bdd. Sin embargo, SI perdes el filestore (.local/share/....) si no está sacado fuera del contenedor docker (es decir, si mapeaste el volumen .local/share fuera del contenedor, el dato persiste sin problemas

- por otro lado si removes el contenedor de postgres (en caso que esté separado) para no perder la base de datos, tenés que haber hecho un mapeo del volumen o directorio donde está la base de datos, fuera del container también.

En definitiva, en ambos casos, el directorio donde mapeas datos sensibles, tiene que estar fuera del contenedor para que no se evapore al removerlos. Siempre es conveniente tenerlo con la data fuera del contenedor. (-v /vol/detudisco:/vol/dedatosinternodeldocker)

Mil gracias por la respuesta. Yo hice la instalación según la guía de Docker Avanzado que figura en esta página, creo que está todo mapeado fuera de los contenedores no? Por ejemplo al levantar postgresql en el comando se indica " ~/odoo80/postgresql:/var/lib/postgresql/data" En este caso, la ruta dentro del contenedor es /var/lib/postgresql/data y se está mapeando a /odoo80/postgresq fuera del contenedor? Y por otro lado, el filestore estaría bajo /odoo80/data_dir/... no es cierto?