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