使用atlassian/jira-software:8.5.8-jdk8部署jira失败

来源:3-1 Docker安装Jira

w3n9

2021-02-18

Dockerfile

FROM atlassian/jira-software:8.5.8-jdk8
COPY mysql-connector-java-8.0.23.jar /opt/atlassian/jira/lib/

docker-compose.yml

version: "3.8"
services:
  jira:
    build: .
    depends_on:
      - mysql
    environment:
      ATL_JDBC_URL: jdbc:mysql://mysql:3306/jira
      ATL_JDBC_USER: jira
      ATL_JDBC_PASSWORD: jira
      ATL_DB_DRIVER: com.mysql.jdbc.Driver
      ATL_DB_TYPE: mysql
    volumes:
      - type: bind
        source: /tmp/localtime
        target: /etc/localtime
    ports:
    - "7081:8080"

  mysql:
    image: mysql:5.7
    volumes:
      - type: volume
        source: jira-mysql-data
        target: /var/lib/mysql
      - type: volume
        source: jira-mysql-conf
        target: /etc/mysql/conf.d
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_USER: jira
      MYSQL_PASSWORD: jira
      MYSQL_DATABASE: jira

volumes:
  jira-mysql-data:
  jira-mysql-conf:

jira日志

jira_1   | 2021-02-17 19:45:52,468+0000 JIRA-Bootstrap INFO      [c.a.j.config.database.SystemDatabaseConfigurationLoader] Reading database configuration from /var/atlassian/application-data/jira/dbconfig.xml
jira_1   | 17-Feb-2021 19:45:52.473 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
jira_1   | 17-Feb-2021 19:45:52.482 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
jira_1   | 2021-02-17 19:45:52,513+0000 JIRA-Bootstrap INFO      [c.a.j.config.database.DatabaseConfigHandler] Trying to get encrypted password from xml and decrypt it
jira_1   | 2021-02-17 19:45:52,515+0000 JIRA-Bootstrap INFO      [c.a.j.config.database.DatabaseConfigHandler] Database password decryption not performed.
jira_1   | Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
jira_1   | 17-Feb-2021 19:45:52.583 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 4261 ms
jira_1   | 2021-02-17 19:45:52,889+0000 JIRA-Bootstrap INFO      [c.a.jira.startup.JiraStartupLogger] Running JIRA startup checks.
jira_1   | 2021-02-17 19:45:52,890+0000 JIRA-Bootstrap FATAL      [c.a.jira.startup.JiraStartupLogger] Startup check failed. JIRA will be locked.
jira_1   | 2021-02-17 19:45:53,002+0000 JIRA-Bootstrap INFO      [c.a.jira.startup.LauncherContextListener] Memory Usage:
jira_1   |     ---------------------------------------------------------------------------------
jira_1   |       Heap memory     :  Used:  207 MiB.  Committed:  904 MiB.  Max: 2018 MiB
jira_1   |       Non-heap memory :  Used:   42 MiB.  Committed:   63 MiB.  Max: 1536 MiB
jira_1   |     ---------------------------------------------------------------------------------
jira_1   |       TOTAL           :  Used:  248 MiB.  Committed:  967 MiB.  Max: 3554 MiB
jira_1   |     ---------------------------------------------------------------------------------

页面报错
图片描述

通过docker exec 进入 mysql容器可以发现jira数据库已经创建但是没有表。

写回答

1回答

w3n9

提问者

2021-02-18

已经解决了

Dockerfile

```

FROM atlassian/jira-software:8.5.8-jdk8
COPY mysql-connector-java-8.0.23.jar /opt/atlassian/jira/lib/

```

mysql-Dockerfile

```

FROM mysql:5.7
ENV MYSQL_CONFIG  "[mysqld]\n default-storage-engine=INNODB\n character_set_server=utf8mb4\n innodb_default_row_format=DYNAMIC\n innodb_large_prefix=ON\n innodb_file_format=Barracuda\n innodb_log_file_size=2G"
RUN echo $MYSQL_CONFIG > /etc/mysql/conf.d/mysql.cnf

```

docker-compose.yml

```yml

version: "3.8"
services:
 jira:
   build: .
   depends_on:
     mysql:
       condition: service_healthy
#    environment:
#      ATL_JDBC_URL: jdbc:mysql://mysql:3306/jira?useSSL=false
#      ATL_JDBC_USER: root
#      ATL_JDBC_PASSWORD: jira
#      ATL_DB_DRIVER: com.mysql.jdbc.Driver
#      ATL_DB_TYPE: mysql
   volumes:
     - type: bind
       source: /tmp/localtime
       target: /etc/localtime
   ports:
   - "7081:8080"

 mysql:
   build:
     context: .
     dockerfile: mysql-Dockerfile
   volumes:
     - type: volume
       source: jira-mysql-data
       target: /var/lib/mysql
     - type: volume
       source: jira-mysql-conf
       target: /etc/mysql/conf.d
   environment:
     MYSQL_ROOT_PASSWORD: jira
     MYSQL_DATABASE: jira
   healthcheck:
     test: ["CMD","mysqladmin","ping","-h","localhost","-uroot","-pjira"]
     timeout: 3s
     retries: 10


volumes:
 jira-mysql-data:
 jira-mysql-conf:

```

1
1
w3n9
然后访问http://localhost:7081 使用外部数据库选择MySQL5.7+然后主机名写mysql其他照常配置即可
2021-02-18
共1条回复

SpringCloud+Kubernetes 微服务容器化交付实战

学习业界领先的持续交付方案

661 学习 · 109 问题

查看课程