6. Docker安装Odoo实现快速迁移

一、 安装postgres数据库

root@ubuntu-18:~# docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres:10.0

注:如果安装postgres其他版本可能会出现如下报错:

解决办法:

按照我的步骤重新安装postgres:10.0版本即可。

二、 安装odoo11

root@ubuntu-18:~# docker run -p 8069:8069 --name odoo --link db:db -t odoo:11

命令解释如下:
8069:8069 // 第一个值是本地端口、第二个值是容器端口,就是说将本地8069端口和容器的8069端口做映射关系。 db:db // 注意:db不能修改,否则odoo运行时会报错。

 1. Docker 安装完成Odoo将自动启动Odoo:

root@ubuntu-18:~# docker ps -a

2. 访问odoo网站

如果开启防火墙需要添加规则:

root@ubuntu-18:~# firewall-cmd --permanent --add-port=8069/tcp && firewall-cmd –reload

访问odoo网站http://你的ip:8069,显示如下:

填写相关信息:

安装成功:

三、将Odoo打包进行迁移

当我们在Odoo上开发项目完成时,需要交付给客户在生产环境上使用时,这是时候就能体现出Docker的特点了,直接打包迁移即可,不需要在客户环境上重新安装环境,只需要安装Docker。

1. 查看容器:

root@ubuntu-18:~# docker ps -a

2. 使用 docker commit 命令来创建快照:

root@ubuntu-18:~# docker commit -p c53315e04994 odoo-backup
root@ubuntu-18:~# docker commit -p e35a1b97371e postgres-backup

3. 查看docker 镜像,已创建了两个快照镜像:

4. 将快照镜像进行打包:

root@ubuntu-18:~# docker save -o postgres.tar postgres-backup
root@ubuntu-18:~# docker save -o odoo.tar odoo-backup

5. 拷贝到目标服务器:

root@ubuntu-18:~# scp postgres.tar root@172.16.1.4:/root
root@172.16.1.4's password:
root@ubuntu-18:~# scp odoo.tar root@172.16.1.4:/root
root@172.16.1.4's password:

四、 在迁移的目标服务器操作

1. 使用 docker load 命令加载镜像:

[root@centos7 ~]# docker load -i postgres.tar 
[root@centos7 ~]# docker load -i odoo.tar

2. 启动镜像:

[root@centos7 ~]# docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres-backup
[root@centos7 ~]# docker run -p 8069:8069 --name odoo --link db:db -t odoo-backup

// 跟刚开始安装时的命令一样;

3. 访问odoo界面:

注:需要将原始机器上的数据库导入过来。

4. 导出原始数据库(在第一台服务器上操作):

5. 导入备份数据即可实现迁移(在第二台服务器操作):

到迁移机器上打开URL导入备份数据库:

6. 重新登录:

到此就简单完成Odoo的迁移工作!

posted @ 2019-04-29 22:45  神奇二进制  阅读(2805)  评论(0编辑  收藏  举报