docker 搭建odoo ERP服务器

2023-05-16

按照官方教程来操作即可:  https://hub.docker.com/_/odoo/

环境: Linux CoreNAS 4.19.25-coreos #1 SMP Sat Mar 9 01:05:06 -00 2019 x86_64 Intel(R) Celeron(R) CPU N3150 @ 1.60GHz GenuineIntel GNU/Linux

PosgreSQL 数据库存储目录: /home/disks/HD160G/data/postgresql

 

如何使用这个镜像

此镜像需要一个运行中的 PostgreSQL 服务.

开启一个PostgreSQL server  名称为db

$ docker run -itd -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo123 -e POSTGRES_DB=postgres -v /home/odoo/data:/var/lib/postgresql --name db postgres:12

开启一个Odoo 实例

$ docker run  -itd -p 8069:8069 --name odoo --link db:db odoo

运行中的Postgres的容器名必须是db才能使Odoo能够连接到该Postgres服务器。

关闭再重启一个Odoo 实例

$ docker stop odoo
$ docker start -a odoo

关闭再重启一个 PostgreSQL 服务

重新启动 PostgreSQL 服务器时, 还必须重新启动链接到该服务器的 odoo 实例, 因为服务器地址已更改, 链接因此中断。

重新启动 PostgreSQL 服务器不会影响创建的数据库。

使用自定义配置运行 Odoo

 

odoo服务器的默认配置文件是 (位于/etc/odoo/odooo. conf) 可以在启动时使用卷进行覆盖。假设您在宿主机上的自定义配置文档绝对地址是 /path/to/odoo/odoo.conf , 则需要运行下列指令

$ docker run -itd -v /path/to/config:/etc/odoo -p 8069:8069 --name odoo --link db:db odoo

请使用此配置模板编写自定义配置, 因为我们已经为odoo在 Docker 容器中运行 而设置了一些参数。

您还可以直接在线指定 Odoo 参数。这些参数必须在关键字之后给出--在命令行中, 如下所示

$ docker run -itd -p 8069:8069 --name odoo --link db:db odoo -- --db-filter=odoo_db_.*

安装自定义加载项 

您可以在 Odoo 容器中安装自己的 Odoo 加载项, 要安在/mnt/extra-addons 中

$ docker run -itd -v /path/to/addons:/mnt/extra-addons -p 8069:8069 --name odoo --link db:db odoo

运行多重odoo实例

$ docker run -itd -p 8070:8069 --name odoo2 --link db:db odoo
$ docker run -itd -p 8071:8069 --name odoo3 --link db:db odoo

请注意,如果计划使用邮件和报告功能,则当主机和容器端口不是对等匹配时(例如8070和8069),必须在Odoo中设置Settings-> Parameters-> System Parameters,将web.base.url设置为 容器端口(例如127.0.0.1:8069)。 

环境变量

调整这些环境变量以轻松连接到postgres服务器:

  • HOST: postgres 服务的地址.如果你使用的是一个 postgres容器, 则把该容器的名称设定为默认的 db.
  • PORT: postgres服务器正在侦听的端口,默认为 5432.
  • USER: Odoo将与之连接的postgres角色。 如果您使用了postgres容器,请将其设置为与POSTGRES_USER相同的值, 默认为odoo。
  • PASSWORD: Odoo将与之连接的postgres角色的密码。 如果您使用了postgres容器,请将其设置为与POSTGRES_PASSWORD相同的值, 默认为odoo。

Docker Compose 文档的编写示例

最简单的 docker-compose.yml 文档内容应当如下所示:

version: '2'
services:
  web:
    image: odoo:12.0
    depends_on:
      - db
    ports:
      - "8069:8069"
  db:
    image: postgres:10
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_USER=odoo

如果默认的postgres 账号不适合您, 则可调整环境变量如下:

version: '2'
services:
  web:
    image: odoo:12.0
    depends_on:
      - mydb
    ports:
      - "8069:8069"
    environment:
    - HOST=mydb
    - USER=odoo
    - PASSWORD=myodoo
  mydb:
    image: postgres:10
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=myodoo
      - POSTGRES_USER=odoo

下面是最后一个示例, 演示如何装载自定义加载项、如何使用自定义配置文件以及如何使用 Odoo 和 postgres 数据目录的卷:

 

version: '2'
services:
  web:
    image: odoo:12.0
    depends_on:
      - db
    ports:
      - "8069:8069"
    volumes:
      - odoo-web-data:/var/lib/odoo
      - ./config:/etc/odoo
      - ./addons:/mnt/extra-addons
  db:
    image: postgres:10
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_USER=odoo
      - PGDATA=/var/lib/postgresql/data/pgdata
    volumes:
      - odoo-db-data:/var/lib/postgresql/data/pgdata
volumes:
  odoo-web-data:
  odoo-db-data:

若要启动 Odoo 实例, 则请进入前面的示例所创建的docker-compose.yml文件的目录, 然后运行:

docker-compose up -d

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker 搭建odoo ERP服务器 的相关文章

随机推荐