You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Docker化Odoo连接现有裸机PostgreSQL服务器?

解决Odoo Docker容器连接外部PostgreSQL的问题

错误原因分析

日志提示could not translate host name "db" to address,说明Odoo启动时未读取到你自定义的db_host = 192.168.33.12配置,反而尝试连接默认的db服务(这是官方示例中内部数据库的服务名)。结合你的配置,需要从配置加载权限、外部数据库访问控制、容器启动命令这几个维度排查修复。

分步解决

1. 确保自定义配置文件被正确加载

  • 先检查本地~/odoo/config目录的权限,Odoo容器内运行的是UID为1000的odoo用户,需让该用户拥有配置文件的读取权限:
    chmod -R 755 ~/odoo/config
    chown -R 1000:1000 ~/odoo/config
    
  • 修改docker-compose.yml,在web服务中添加启动命令,强制Odoo加载你的自定义配置文件:
    version: '3.1'
    services:
      web:
        image: odoo:15.0
        ports:
          - "8069:8069"
        volumes:
          - odoo-web-data:/var/lib/odoo
          - ./config:/etc/odoo
          - ./addons:/mnt/extra-addons
        # 指定配置文件路径,强制加载自定义配置
        command: odoo -c /etc/odoo/odoo.conf
    
    volumes:
      odoo-web-data:
    

2. 配置外部PostgreSQL允许Docker服务器访问

  • 登录IP为192.168.33.12的PostgreSQL服务器,修改pg_hba.conf文件(路径通常为/etc/postgresql/<版本号>/main/pg_hba.conf),添加Docker服务器IP的访问规则:

    替换<Docker服务器IP>为你的Docker主机实际IP

    host    all             odooadmin        <Docker服务器IP>/32        md5
    
    若允许整个子网访问,可写成192.168.33.0/24。
  • 修改postgresql.conf文件,设置允许所有IP监听:
    listen_addresses = '*'
    
  • 重启PostgreSQL服务使配置生效:
    systemctl restart postgresql
    

3. 验证数据库用户权限

  • 在PostgreSQL服务器上,切换到postgres用户并登录数据库:
    sudo -u postgres psql
    
  • 检查odooadmin用户是否存在,且拥有创建数据库的权限(Odoo必须具备该权限):
    -- 检查用户是否存在
    SELECT usename FROM pg_user WHERE usename='odooadmin';
    -- 若不存在,创建用户(替换密码为你的实际密码)
    CREATE USER odooadmin WITH PASSWORD 'one_more_pass';
    -- 授予创建数据库权限
    ALTER USER odooadmin CREATEDB;
    

4. 测试连接并重启容器

  • 在Docker服务器上,先测试能否连接到外部PostgreSQL:
    # 测试端口是否开放
    nc -zv 192.168.33.12 5432
    # 或用psql直接连接验证
    psql -h 192.168.33.12 -U odooadmin -d postgres
    
  • 重启Odoo容器:
    docker-compose down
    docker-compose up -d
    
  • 查看容器日志确认连接状态:
    docker-compose logs -f web
    

内容的提问来源于stack exchange,提问作者Nil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 08:48:21