[英]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.