docker搭建odoo16开发环境

要使用Docker搭建Odoo 16的开发环境,我们需要准备两个主要文件:一个是docker-compose.yml文件,用来定义和运行多个Docker应用容器,包括Odoo 16和PostgreSQL 15;另一个是odoo.conf文件,用来配置Odoo应用。下面我会详细解释这两个文件。

1. docker-compose.yml

这个文件用于定义和运行Odoo和PostgreSQL容器。创建一个名为docker-compose.yml的文件,并填入以下内容:

yaml 复制代码
version: '3.7'
services:
  web:
    image: odoo:16
    depends_on:
      - db
    ports:
      - "8069:8069"
    volumes:
      - odoo-web-data:/var/lib/odoo
      - ./config:/etc/odoo
      - ./addons:/mnt/extra-addons
    environment:
      - HOST=db
      - USER=odoo
      - PASSWORD=odoo

  db:
    image: postgres:15
    environment:
      POSTGRES_DB: odoodb
      POSTGRES_USER: odoo
      POSTGRES_PASSWORD: odoo
    volumes:
      - odoo-db-data:/var/lib/postgresql/data

volumes:
  odoo-web-data:
  odoo-db-data:
参数解析:
  • version: 指定docker-compose文件格式版本。
  • services: 定义需要运行的服务容器。
  • web: Odoo服务容器。
    • image: 使用的Odoo Docker镜像版本。
    • depends_on: 定义容器间的依赖关系,此处Odoo依赖于数据库服务。
    • ports: 映射容器和主机的端口。
    • volumes: 挂载卷,用于数据持久化和配置文件的共享。
    • environment: 设置环境变量,如数据库主机、用户名和密码。
  • db: PostgreSQL服务容器。
    • image: 使用的PostgreSQL Docker镜像版本。
    • environment: 设置环境变量,包括数据库名、用户名和密码。
    • volumes: 数据库数据的持久化存储。

2. odoo.conf

接下来,你需要准备Odoo的配置文件odoo.conf。在./config目录下创建一个名为odoo.conf的文件,并填入以下内容:

conf 复制代码
[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = db
db_port = 5432
db_user = odoo
db_password = odoo
addons_path = /mnt/extra-addons
文件解析:
  • [options]: 标识配置选项的开始。
  • admin_passwd: 设置数据库操作的管理员密码。
  • db_host: 数据库主机名,与docker-compose.yml中的服务名称相对应。
  • db_port: 数据库端口号。
  • db_user: 数据库用户名。
  • db_password: 数据库密码。
  • addons_path: 附加模块的路径。

最后步骤

  1. 确保docker-compose和Docker已安装在你的机器上。
  2. 在包含docker-compose.yml和odoo.conf文件的同一目录下运行docker-compose up。Docker将根据docker-compose.yml中的定义启动Odoo 16和PostgreSQL 15容器。
  3. 通过浏览器访问http://localhost:8069
相关推荐
CCblandy9 小时前
前缀缓存命中率不靠引擎靠排列:本机仿真 3 轮,易变字段放开头 98.0%→0.0%
人工智能·python·算法·自然语言处理·性能优化
Sakura_j_h_9 小时前
给 FastAPI 接大模型:超时、重试和 token 成本该怎么管
python·大模型·fastapi·超时重试·token计费
forest_099 小时前
用Python复刻ClaudeDuet:主动式Agent四件套,定时晨报、后台巡检、危险动作审批(附完整可运行代码)
人工智能·python·架构·prompt·agi
小小张说故事10 小时前
Python 的函数调用到底贵在哪?拆开一次 call:51 纳秒栈帧与 *args 的 40 纳秒罚单
python
程序猿乐锅11 小时前
【从0-1学习Python | 第七篇】Python 面向对象基础
开发语言·笔记·后端·python·学习·1024程序员节
lzqrzpt11 小时前
太阳能控制器选型要点:电路工艺与工程适配技术解析
python·1024程序员节
databook11 小时前
时间序列数据中,如何找出缺失值
python·数据分析
小小龙学IT12 小时前
Python Polars 高性能数据处理引擎深度解析
开发语言·python·rust·1024程序员节
csdn_aspnet13 小时前
JavaScript 未排序数组中第 k 个最小/最大元素 (预期线性时间)
python
quantdash_cc13 小时前
如何利用标的信息为研究股票池补充名称和交易所信息?
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash