jira 和 postgres docker-compose

jira and postgres docker-compose

我有下一个代码,它是一个 "docker compose" yml 文件,出于某种原因我找不到让 Jira 连接到 Postgresql 的方法

version: '3'

services:
  jira:
    container_name: jira
    depends_on:
      - postgresql
    image: atlassian/jira-software:8.5.4
    networks:
      - jiranet
    volumes:
      - jiradata:/var/atlassian/jira
    ports:
      - '8080:8080'
    environment:
      - 'ATL_JDBC_URL=localhost:5432'
      - 'JIRA_DB_PASSWORD=admin'
      - 'SETENV_JVM_MINIMUM_MEMORY=2048m'
      - 'SETENV_JVM_MAXIMUM_MEMORY=4096m'
      - 'JIRA_PROXY_NAME='
      - 'JIRA_PROXY_PORT='
      - 'JIRA_PROXY_SCHEME='

  postgresql:
    container_name: postgres
    image: postgres:9.6
    expose:
      - "5432"
    networks:
      - jiranet
    volumes:
      - postgresqldata:/var/lib/postgresql/data
    environment:
      - 'POSTGRES_USER=jiradbuser'
      # CHANGE THE PASSWORD!
      - 'POSTGRES_PASSWORD=admin'
      - 'POSTGRES_DB=jiradb'
      - 'POSTGRES_ENCODING=UNICODE'
      - 'POSTGRES_COLLATE=C'
      - 'POSTGRES_COLLATE_TYPE=C'

volumes:
  jiradata:
    external: false
  postgresqldata:
    external: false

networks:
  jiranet:
    driver: bridge

我使用

查看了日志

docker-compose --verbose up -d

一切似乎都很好,两个容器都已启动 运行,但 Jira 无法连接到数据库。

非常感谢您对此提供帮助

尝试使用这些配置

version: '3'

services:
  jira:
    container_name: jira
    depends_on:
      - postgresql
    image: atlassian/jira-software:8.5.4
    networks:
      - jiranet
    volumes:
      - jiradata:/var/atlassian/jira
    ports:
      - '8001:8080'
    environment:
      - 'ATL_JDBC_URL=postgresql:5432'
      - 'ATL_JDBC_USER=jiradbuser'
      - 'ATL_JDBC_PASSWORD=admin'
      - 'SETENV_JVM_MINIMUM_MEMORY=2048m'
      - 'SETENV_JVM_MAXIMUM_MEMORY=4096m'
      - 'JIRA_PROXY_NAME='
      - 'JIRA_PROXY_PORT='
      - 'JIRA_PROXY_SCHEME='

  postgresql:
    container_name: postgres
    image: postgres:9.6
    expose:
      - '5432'
    networks:
      - jiranet
    volumes:
      - postgresqldata:/var/lib/postgresql/data
    environment:
      - 'POSTGRES_USER=jiradbuser'
      # CHANGE THE PASSWORD!
      - 'POSTGRES_PASSWORD=admin'
      - 'POSTGRES_DB=jiradb'
      - 'POSTGRES_ENCODING=UNICODE'
      - 'POSTGRES_COLLATE=C'
      - 'POSTGRES_COLLATE_TYPE=C'

volumes:
  jiradata:
    external: false
  postgresqldata:
    external: false

networks:
  jiranet:
    driver: bridge

也许我来晚了一点,但问题出在 JDBC URL 上。应该是

jdbc:postgresql://postgresql:5432/jiradb

所以文件最终像

version: '3'

services:
  jira:
    container_name: jira
    depends_on:
      - postgresql
    image: atlassian/jira-software:8.5.4
    networks:
      - jiranet
    volumes:
      - jiradata:/var/atlassian/jira
    ports:
      - '8001:8080'
    environment:
      - 'ATL_JDBC_URL=jdbc:postgresql://postgresql:5432/jiradb'
      - 'ATL_JDBC_USER=jiradbuser'
      - 'ATL_JDBC_PASSWORD=admin'
      - 'SETENV_JVM_MINIMUM_MEMORY=2048m'
      - 'SETENV_JVM_MAXIMUM_MEMORY=4096m'
      - 'JIRA_PROXY_NAME='
      - 'JIRA_PROXY_PORT='
      - 'JIRA_PROXY_SCHEME='

  postgresql:
    container_name: postgres
    image: postgres:9.6
    expose:
      - '5432'
    networks:
      - jiranet
    volumes:
      - postgresqldata:/var/lib/postgresql/data
    environment:
      - 'POSTGRES_USER=jiradbuser'
      # CHANGE THE PASSWORD!
      - 'POSTGRES_PASSWORD=admin'
      - 'POSTGRES_DB=jiradb'
      - 'POSTGRES_ENCODING=UNICODE'
      - 'POSTGRES_COLLATE=C'
      - 'POSTGRES_COLLATE_TYPE=C'

volumes:
  jiradata:
    external: false
  postgresqldata:
    external: false

networks:
  jiranet:
    driver: bridge