win10 使用 Docker 搭建 odoo 13 本地环境

最近又开始做 odoo 网站了,原来在 odoo 12 上做的网站在升级为 13 后,网站就被擦除了,因为没有使用 odoo 的开发功能搭建的网站,而是直接使用 odoo 后台自带的编辑器写的静态文件与样式,只要升级就会替换掉这个编辑器的模板文件,然后网站内容就没的了。因此,这次想在本地搭一个 odoo 环境,方便除了开发网站外还可以制作一些模块主题。

我的电脑是联想的,系统为 win10.

本地搭建 docker 环境步骤为:

  1. 在本地建立目录 odoo 目录,我的目录是:D:Codedockerodoo
  2. 安装下载 docker ,并注册 docker id
  3. 安装 docker 界面管理工具:Portainer
  4. 安装 python3 (可选)
  5. 安装 odoo 数据库工具 PostgreSQL 并生成容器
  6. 安装 odoo 并生成容器
  7. 打开 odoo 后台管理界面 ( 如果VPN是打开状态,请关闭 )

win 10 下的安装方法可能与 mac 有所不同。

在本地建立目录 odoo 目录

PS C:Usersaiyy> d:
PS D:> ls
PS D:> cd Code
PS D:Code> cd docker
PS D:Codedocker> mkdir odoo

安装下载 docker 

win10 安装 docker

这个安装过程比较简单。

安装 docker 界面管理工具:Portainer

Portainer是一个允许我们通过网页界面管理Docker资源的工具。

安装方法,同样是使用 docker 的镜像工具。安装步骤为:

  1. 运行命令来从Docker Hub抓取容器镜像:docker pull portainer/portainer
  2. 为该镜像设置 tag :docker tag portainer/portainer portainer  ( 可省略 )
  3. 在 docker 上挂载并启动 portainer,默认端口为 9000,并将宿主机端口也设置为 9000,同时设置宿主机与容器目录  :docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
  4. 本地浏览 http://localhost:9000/ 并设置本地登录帐号及密码

安装 odoo 数据库工具 PostgreSQL 并生成容器

odoo 的数据库为 PostgreSQL ,为方便管理,同样使用 docker 的镜像工具下载和安装。

在配置 PostgreSQL 时,数据库的默认端口 5432,在安装过程中需要配置数据库的用户名,密码及数据库名称,均使用 变量 通过命令配置,无须再通过 portainer 来设置,命令为:

docker run -p 5432:5432 -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:10

以上命令解释为:

  • -p    本地环境主机端口对应容器端口
  • -e    设置环境变量  
    POSTGRES_USER  数据库登录用户名
    POSTGRES_PASSWORD   数据库登录密码
    POSTGRES_DB   数据库名称
    --name   容器名称
  • postgres:10  数据库版本 10

 当返回  “Status: Downloaded newer image for postgres:10”  ,并返回它的 id 后,说明安装成功了。

可以在 portainer 的 Image 列表中看到安装的基本信息:

也可以在容器 Container 中看到已经启动的,名为 db 的数据库:

安装 odoo 并生成容器

odoo 的默认端口为 8069

odoo 的安装方式同 PostgreSQL 一样,使用一条命令将 odoo 的端口号,容器名称,工作目录,安装版本以及连接数据库都配置好:

docker run -p 8069:8069 --name odoo -v D:/Code/docker/odoo/addons:/mnt/extra-addons --link db:db odoo:13

以上命令解释为:

  • -p  设置宿主机与容器端口
  • --name  设置容器名称
  • -v   绑定数据卷 ( Vluse ),设置工作目录与容器目录,如果工作目录中的 addons 下的文件有修改,对应容器 extra-addons 下的文件也会有修改,如果命令中不设置需要在 Portainer 中设置
  • --link  连接数据库 db,同时设置宿主机数据库名称与容器数据库名称
  • :13  下载 odoo 13 版本

当返回 odoo ID 时,说明安装成功。

同样在  Portainer  的 Container 与 Image 中同样可以看的到,此时,Portainer  中正在运行的镜像有 3个:

这时点击容器中 odoo 的端口 Published Ports 8069,会在浏览器中打开 odoo ,默认是无法访问的:http://0.0.0.0:8069/

因为本机的 host 文件没有将 0.0.0.0 指向当前服务器,需要将 0.0.0.0 替换成  localhost 就可以访问 odoo 了。

 登录之后可以看到 odoo 13 的华丽丽的后台环境:

 至此 docker 在本地配置 odoo 13 环境完成了,目前仅是把 docker 中的 odoo 映射到了本地的工具目录 D:Codedockerodoo 中。

接下来做的是使用 docker 的 DockerFile 文件将容器中的 odoo 与工作目录中的 odoo关联开发。

如果有不对的地方,欢迎指正。

切记,如果你的 VPN 是在运行阶段,请关闭再跑 odoo 环境!!

原文地址:https://www.cnblogs.com/baiyygynui/p/13868416.html