我最近尝试让本地Jira示例在苹果Silicone M1芯片上的Docker容器中运行。
我用Postgres做数据库(也试过mariaDB),还有我在GitHub上找到的Jira的手臂图像。然而,每当我用docker-compose设置时,我都会遇到错误500“写入数据库配置文件时出错”。Jira和DB容器似乎都启动正常。
我猜数据库可能无法访问,但我不知道如何检查。
TLDR:我如何检查我的DB是否可以访问我的Jira容器,或者更确切地说,如何修复来自Jira的错误500“写入数据库配置文件时出错”。
下面是我正在使用的合成文件:
services:
jira:
dchevell/jira-software-arm64
#image: ghcr.io/eugenmayer/jira:${JIRA_VERSION}
depends_on:
- db
container_name: jirasoftwarevomeugen
volumes:
- jiradata:/var/atlassian/jira
ports:
- '80:8080'
environment:
- 'JIRA_DATABASE_URL=postgresql://jira@db/jiradb'
- 'JIRA_DB_PASSWORD=jellyfish'
- 'CATALINA_OPTS= -Xms256m -Xmx1g'
- 'JIRA_PROXY_NAME='
- 'JIRA_PROXY_PORT='
- 'JIRA_PROXY_SCHEME='
# need for the wait-for-db statement
- 'JIRA_DB_HOST=db'
- 'JIRA_DB_PORT=5432'
db:
image: postgres
hostname: postgresql
volumes:
- postgresqldata:/var/lib/postgresql/data
environment:
- 'POSTGRES_USER=jira'
- 'POSTGRES_PASSWORD=jellyfish'
- 'POSTGRES_DB=jiradb'
- 'POSTGRES_ENCODING=UTF8'
- 'POSTGRES_COLLATE=C'
- 'POSTGRES_COLLATE_TYPE=C'
# uncomment this to run against mysql
# db:
# image: mariadb:10.3
# hostname: mysql
# volumes:
# - mysqldata:/var/lib/mysql
# environment:
# - 'MYSQL_ROOT_PASSWORD=verybigsecretrootpassword'
# - 'MYSQL_DATABASE=jiradb'
# - 'MYSQL_USER=jira'
# - 'MYSQL_PASSWORD=jellyfish'
volumes:
jiradata:
external: false
postgresqldata:
external: false
mysqldata:
external: false
newdb:
external: false
2条答案
按热度按时间dy1byipe1#
当Jira启动时,它会尝试将配置文件写入Jira数据目录。如果Jira用户无法写入您安装的目录,则会发生此类问题。
您可能希望调查所选映像中Jira用户的UID:GID,然后启动一个独立容器以运行shell(这也会挂载jiradata容器),将挂载目录
chown -R
到正确的user:group(如果它不是您所期望的),然后尝试重新启动Jira。xeufq47z2#
我在arm架构中做了一个构建并上传到hub上,你可以访问它here,你可以用下面的docker compose作为例子。