要使用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
: 附加模块的路径。
最后步骤
- 确保
docker-compose
和Docker
已安装在你的机器上。 - 在包含
docker-compose.yml
和odoo.conf
文件的同一目录下运行docker-compose up
。Docker将根据docker-compose.yml
中的定义启动Odoo 16和PostgreSQL 15容器。 - 通过浏览器访问
http://localhost:8069