三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Odoo 19.0与Docker Desktop快速部署指南

Odoo 19.0与Docker Desktop快速部署指南

1. Odoo 19.0与Docker Desktop快速部署实战

1.1 环境准备与前置检查

在开始部署前,我们需要确保系统满足以下条件:

  • Windows 10/11 Pro/Enterprise版本(Home版需手动开启Hyper-V)
  • BIOS中已启用虚拟化支持(Intel VT-x/AMD-V)
  • 至少4GB可用内存(建议8GB以上)
  • 50GB可用磁盘空间

验证虚拟化是否开启的方法:

  1. 打开任务管理器 → 性能选项卡
  2. 查看"虚拟化"是否显示"已启用"
  3. 如果显示禁用,需要进入BIOS设置:
    • 重启电脑按Del/F2进入BIOS
    • 找到Intel Virtualization Technology或AMD SVM选项
    • 设置为Enabled
    • 保存退出

注意:部分品牌机可能默认关闭虚拟化支持,特别是联想笔记本需要在BIOS中额外关闭"Device Guard"功能

1.2 Docker Desktop安装与配置

  1. 访问Docker官网下载稳定版安装包
  2. 双击安装包按向导完成安装
  3. 首次启动时可能会遇到"Virtualization support not detected"错误,解决方法:
    # 以管理员身份运行PowerShell dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart bcdedit /set hypervisorlaunchtype auto
  4. 配置镜像加速(国内用户必需):
    • 右键系统托盘Docker图标 → Settings → Docker Engine
    • 添加以下镜像源:
    { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ] }
  5. 测试安装是否成功:
    docker run hello-world

1.3 Odoo 19.0容器部署

使用docker-compose是最佳实践,创建docker-compose.yml文件:

version: '3.1' services: odoo: image: odoo:19.0 container_name: odoo19 ports: - "8069:8069" volumes: - ./odoo-data:/var/lib/odoo - ./odoo-config:/etc/odoo depends_on: - postgres environment: - HOST=postgres - USER=odoo - PASSWORD=odoo postgres: image: postgres:15 container_name: postgres15 environment: - POSTGRES_DB=postgres - POSTGRES_USER=odoo - POSTGRES_PASSWORD=odoo volumes: - ./postgres-data:/var/lib/postgresql/data

启动命令:

docker-compose up -d

访问地址:http://localhost:8069

1.4 常见问题排查

  1. 端口冲突

    • 检查8069端口是否被占用:
      netstat -ano | findstr 8069
    • 解决方案:修改docker-compose.yml中的端口映射,如"8070:8069"
  2. 数据库连接失败

    • 检查Postgres容器日志:
      docker logs postgres15
    • 确保环境变量匹配,特别是密码一致性
  3. 性能优化建议

    • 增加Odoo worker数量:
      environment: - WORKERS=4
    • 启用长轮询:
      command: --dev=reload --workers=4 --proxy-mode

2. Ubuntu 24.04上1Panel面板安装指南

2.1 系统准备

推荐使用Ubuntu Server 24.04 LTS最小化安装:

# 更新系统 sudo apt update && sudo apt upgrade -y # 安装必要工具 sudo apt install -y curl wget ufw

2.2 1Panel安装步骤

官方一键安装脚本:

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

安装过程会提示:

  1. 设置1Panel监听端口(默认10080)
  2. 设置管理员用户名和密码
  3. 选择安装目录(默认/opt/1panel)

重要:如果使用云服务器,请提前在安全组放行10080端口

2.3 初始配置

  1. 访问面板:

    http://服务器IP:10080
  2. 完成初始化向导:

    • 设置时区
    • 配置存储路径
    • 选择默认容器运行时(推荐docker)
  3. 系统优化:

    # 启用防火墙 sudo ufw enable sudo ufw allow 10080/tcp sudo ufw allow 22/tcp # 设置swap(内存<4GB时建议) sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

2.4 通过1Panel部署Odoo

  1. 在1Panel应用商店搜索"Odoo"
  2. 点击安装,填写配置:
    • 端口映射:8069:8069
    • 数据库密码
    • 持久化存储路径
  3. 点击确认部署
  4. 访问方式:
    http://服务器IP:8069

2.5 常见问题解决

  1. 10080端口无法访问

    • 检查防火墙状态:
      sudo ufw status
    • 检查服务是否运行:
      sudo systemctl status 1panel
  2. Chrome无法打开10080端口

    • 尝试其他浏览器
    • 检查是否为HTTPS问题,尝试:
      http://localhost:10080
  3. Docker服务异常

    • 重启docker服务:
      sudo systemctl restart docker
    • 检查docker日志:
      journalctl -u docker -f

3. 高级配置与优化

3.1 Odoo生产环境配置

修改odoo.conf核心参数:

[options] ; 工作进程数 = (CPU核心数 * 2) + 1 workers = 5 ; 每个worker最大内存(MB),超过自动重启 limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 ; 数据库连接池大小 db_maxconn = 64

3.2 备份策略

  1. 数据库自动备份:

    # 每天凌晨2点备份 0 2 * * * docker exec postgres15 pg_dump -U odoo -d odoo -f /backup/odoo_$(date +\%Y\%m\%d).sql
  2. 1Panel定时备份:

    • 进入面板 → 备份 → 创建计划
    • 选择备份应用和数据卷
    • 设置保留策略(如保留最近7天)

3.3 性能监控

安装Prometheus监控套件:

# docker-compose-monitor.yml version: '3' services: prometheus: image: prom/prometheus ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml grafana: image: grafana/grafana ports: - "3000:3000"

配置Odoo监控指标:

# prometheus.yml scrape_configs: - job_name: 'odoo' static_configs: - targets: ['odoo:8069']

4. 安全加固措施

4.1 网络层防护

  1. 修改默认端口:

    # 修改1Panel端口 sudo sed -i 's/10080/自定义端口/g' /opt/1panel/conf/app.conf sudo systemctl restart 1panel
  2. 启用Fail2Ban:

    sudo apt install -y fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

4.2 应用层安全

  1. Odoo密码策略:

    # 在addons/auth_password_policy模块中设置 password_minimum_length = 12 password_history = 5
  2. 定期更新:

    # 设置自动更新 sudo apt install -y unattended-upgrades sudo dpkg-reconfigure unattended-upgrades

4.3 数据加密

  1. 数据库SSL连接:

    # docker-compose.yml environment: POSTGRES_SSL: "on" POSTGRES_SSL_CERT_FILE: "/etc/ssl/certs/server.crt" POSTGRES_SSL_KEY_FILE: "/etc/ssl/private/server.key"
  2. 备份加密:

    # 使用gpg加密备份文件 gpg --symmetric --cipher-algo AES256 odoo_backup.sql

5. 故障排查手册

5.1 Docker常见问题

问题1:Virtualization support not detected

解决方案:

  1. 检查BIOS虚拟化设置
  2. Windows功能中启用Hyper-V和Windows Hypervisor Platform
  3. 执行:
    wsl --update wsl --set-default-version 2

问题2:端口占用冲突

快速查找占用进程:

sudo netstat -tulnp | grep 8069

5.2 Odoo特定问题

问题1:模块安装失败

检查方法:

docker logs odoo19 | grep -i error

常见原因:

  • 依赖缺失:在自定义模块的__manifest__.py中添加
  • 权限问题:检查卷挂载权限

问题2:性能缓慢

优化检查清单:

  1. 检查worker配置
  2. 启用pg_stat_statements分析SQL
  3. 检查系统负载:
    docker stats

5.3 1Panel管理问题

问题1:面板无法更新

手动更新方法:

sudo 1panel update

问题2:应用商店加载慢

更换国内源:

sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /opt/1panel/conf/app.conf
← 返回列表