Как создать docker -compose для JIRA и MySQL - PullRequest
1 голос
/ 07 августа 2020

Я пытаюсь создать файл 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, но позволяет ему подключаться только с localhost. Но контейнер JIRA рассматривается как поступающий с внешнего IP-адреса.

Есть идеи, как я могу сделать базу данных jiradb в mysql доступной из контейнера JIRA пользователем jira?

1 Ответ

0 голосов
/ 10 августа 2020

Я понял проблему - мне не хватало переменной окружения в контейнере jira:

ATL_DB_SCHEMA_NAME=jiradb

После этого все заработало!

...