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

Apple Silicone(M1)下Docker部署Jira出现数据库配置写入500错误如何解决

问题排查与解决步骤

一、优先修正docker-compose配置错误

你当前的配置文件存在语法错误,jira服务的镜像声明缺失image关键字,会导致容器启动时参数加载异常,先修正这行内容:

services:
  jira:
    image: dchevell/jira-software-arm64 # 原配置缺了image: 前缀,补上即可
    # 其余原有配置保持不变

修正后先执行docker-compose down -v清理旧的错误启动产生的挂载卷,再重新启动测试,如果问题依旧,继续往下排查。

二、检测Jira容器与数据库的连通性

  • 先确认两个容器都处于正常运行状态:执行docker ps,确认jirasoftwarevomeugen和postgres容器的状态均为Up
  • 进入Jira容器内部执行连通性检测:
    docker exec -it jirasoftwarevomeugen /bin/bash
    
    容器内依次执行以下命令:
    1. 检测网络连通性:ping db,如果能正常收到响应说明Docker内部DNS解析正常,两个容器之间没有网络隔离问题
    2. 检测端口连通性:如果容器内置telnet就执行telnet db 5432,没有的话执行nc -zv db 5432,返回succeeded说明数据库端口可正常访问
    3. 直接测试数据库登录:如果容器内置psql客户端,执行psql -h db -U jira -d jiradb,输入密码jellyfish,如果能正常进入数据库命令行,说明数据库账号、密码、权限均正常,连通性完全没问题。

三、解决"Error writing database configuration file" 500错误

该错误大概率和连通性无关,是Jira容器挂载卷权限、配置参数异常导致的:

  1. 检查挂载卷权限:Jira默认用uid为1000的jira用户运行,挂载的jiradata卷如果权限不符合会导致无法写入配置文件,执行以下命令修改权限:
    docker exec -it --user root jirasoftwarevomeugen chown -R jira:jira /var/atlassian/jira
    
  2. 修正环境变量格式:你当前配置的JIRA_DATABASE_URL没有补全密码字段,修改为:
    JIRA_DATABASE_URL=postgresql://jira:jellyfish@db/jiradb
    
  3. 数据库版本兼容问题:Postgres 14+版本和部分旧Jira镜像不兼容,你可以把db服务的镜像指定为arm64兼容的旧稳定版:image: postgres:13-alpine
  4. 清空旧卷重启:如果之前错误启动的实例在卷内残留了异常配置文件,执行docker-compose down -v删除所有关联卷,再重新执行docker-compose up -d启动即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:24:02