一、 安装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的迁移工作!