安裝 Odoo container


這篇介紹如何在 Docker 環境下安裝 Odoo (v11) 以及後端對應的 PostgreSQL (v11).

首先,建立 Docker overlay 網路,它將用來連接Odoo以及PGSQL,網路名字叫 odoo-net

 $ docker network create odoo-net 

建立所需的 volume, 並把資料保存於本機上目錄,方便未來移轉或備份。有下列三個:

$ docker volume create pgdata  # pgsql 資料庫用
$ docker volume create odoo-data   # Odoo 本身配置資料
$ docker volume create odoo-addons   # Odoo add-ons 資料

先啟動 PostgreSQL container


$ docker run -dit --rm --name odoo-db \
   -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoopassword \
   --network=odoo-net -v pgdata:/var/lib/postgresql/data postgres:11 

運行下列命令,找出運行時期 odoo-db 的 IP address, 把它記下來(這裡假設是 172.18.0.2),之後會用到:

docker container inspect odoo-db

啟動 Odoo container (請自行更換下列 DB 的 IP address)

# Please replace 172.18.0.2 with yours
$ docker run -dit --rm --name odoo \
   -p 8069:8069 -e POSTGRES_PASSWORD=odoopassword \
   --network=odoo-net --add-host="db:172.18.0.2" \
   -v odoo-data:/var/lib/odoo -v odoo-addons:/mnt/extra-addons odoo:11

請留意上述命令。這裡不用 --link 參數鏈接DB,在較新版本的 Docker 引擎上,--link 參數的使用已經逐漸被淘汰,
取而代之使用 --add-host 參數,以這裡的例子來說

--add-host="db:172.18.0.2"

172.18.0.2 就是之前記下來的 odoo-db 的 IP address,以上參數將會在 odoo container 裡面的 /etc/hosts 添加一行:

# /etc/hosts
# For loopbacking.
127.0.0.1     localhost

172.18.0.2    db

# end of /etc/hosts 

有興趣的讀者請通過 docker exec 命令自行查看運行時 odoo container 內部的 hosts 內容,以進一步了解 --add-host 參數的使用。

之後,請打開瀏覽器,訪問

http://localhost:8069

即可登入 Odoo 畫面。

Thanks for your reading.

留言

這個網誌中的熱門文章

Docker 環境下的 Proxy 配置