繁体   English   中英

如何为 JIRA 和 MySQL 创建 docker-compose

[英]How to create docker-compose for JIRA and MySQL

我正在尝试创建一个 docker-compose.yml 文件,该文件将显示 JIRA 和 MySQL。 这是我的文件:

version: '3'

services:
  jira:
    depends_on:
        - mysql
    container_name: jira
    restart: always
    networks:
        - jiranet
    build:
        context: .
        dockerfile: Dockerfile.jira
    environment:
        - ATL_DB_TYPE=mysql
        - ATL_DB_DRIVER=com.mysql.cj.jdbc.Driver
        - ATL_JDBC_URL=jdbc:mysql://mysql:3306/jiradb
        - ATL_JDBC_USER=jira
        - ATL_JDBC_PASSWORD=jellyfish
    ports:
        - 8080:8080
    volumes:
        - jira-data:/var/atlassian-data/jira

  mysql:
    container_name: mysql
    restart: always
    image: mysql:5.7
    networks:
        - jiranet
    environment:
        - MYSQL_ROOT_PASSWORD=ChangeMe!
        - MYSQL_DATABASE=jiradb
        - MYSQL_USER=jira
        - MYSQL_PASSWORD=jellyfish
    command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin, --default-storage-engine=INNODB, --max_allowed_packet=256M, --innodb_log_file_size=2GB, --transaction-isolation=READ-COMMITTED, --binlog_format=row]
    volumes:
        - mysql-data:/var/lib/mysql

networks:
    jiranet: {}

volumes:
  jira-data:
  mysql-data:

 

不幸的是,当它尝试初始化数据库时,我遇到了 JIRA 启动错误,格式如下:

CREATE command denied to user 'jira'@'172.22.0.3' for table 'jiraaction'

我猜这是因为 mysql 容器正在创建用户 jira,但只允许它从本地主机连接。 但是,JIRA 容器被视为来自外部 IP。

关于如何让用户 jira 可以通过 JIRA 容器访问 mysql 中的 jiradb 数据库的任何想法?

我发现了问题——我在 jira 容器中缺少一个环境变量:

ATL_DB_SCHEMA_NAME=jiradb

之后,一切正常!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM