苹果硅胶(M1)上Docker中的Jira

soat7uwm  于 2023-01-04  发布在  Docker
关注(0)|答案(2)|浏览(167)

我最近尝试让本地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
dy1byipe

dy1byipe1#

当Jira启动时,它会尝试将配置文件写入Jira数据目录。如果Jira用户无法写入您安装的目录,则会发生此类问题。
您可能希望调查所选映像中Jira用户的UID:GID,然后启动一个独立容器以运行shell(这也会挂载jiradata容器),将挂载目录chown -R到正确的user:group(如果它不是您所期望的),然后尝试重新启动Jira。

xeufq47z

xeufq47z2#

我在arm架构中做了一个构建并上传到hub上,你可以访问它here,你可以用下面的docker compose作为例子。

version: "3.1" 
    
 volumes:

   jira_volume:
   postgres_volume:

services:

  postgres:
    image: postgres:10
    ports:
      - 5435:5432
    volumes:
      - postgres_volume:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: admin

  jira:
    image: yasinmert/atlassian-jira-software-arm64
    ports:
      - 7030:8080
    volumes:
      - jira_volume:/var/atlassian/application-data/jira
    environment:
      ATL_TOMCAT_CONTEXTPATH: /jira
      ATL_JDBC_URL: jdbc:postgresql://postgres:5432/jira
      ATL_JDBC_USER: postgres
      ATL_JDBC_PASSWORD: admin
      ATL_DB_DRIVER: org.postgresql.Driver
    depends_on:
      - postgres

相关问题