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-composeDocker已安装在你的机器上。
  2. 在包含docker-compose.ymlodoo.conf文件的同一目录下运行docker-compose up。Docker将根据docker-compose.yml中的定义启动Odoo 16和PostgreSQL 15容器。
  3. 通过浏览器访问http://localhost:8069
相关推荐
奇牙4 分钟前
DeepSeek V4 Agent 开发实战:用 deepseek-v4-pro 搭建多步骤工作流(2026 完整代码)
python
斯维赤6 分钟前
Python学习超简单第八弹:连接Mysql数据库
数据库·python·学习
qq_6543669829 分钟前
如何排查Oracle客户端连接慢_DNS解析超时与sqlnet配置优化
jvm·数据库·python
迷途酱1 小时前
手写一个 AI Agent:从 Function Calling 到自动化任务链
python
Gerardisite1 小时前
企微机器人开发指南
java·python·机器人·自动化·企业微信
城管不管2 小时前
嵌入模型Embedding Model
java·开发语言·python·embedding·嵌入模型
Architect_Lee2 小时前
python3.14.4环境搭建
python
适应规律2 小时前
pointnet 实战
python
慕涯AI2 小时前
Agent 30 课程开发指南 - 第28课
人工智能·python
迷途酱2 小时前
RAG 从零到一:用 Python 给大模型接上你的私有知识库
python