
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://wac-cdn.atlassian.com/dam/jcr:826c97dc-1f5c-4955-bfcc-ea17d6b0c095/jira%20software-icon-gradient-blue.svg?cdnVersion=492!https://wac-cdn.atlassian.com/dam/jcr:8e0905be-0ee7-4652-ba3a-4e3db***/jira%20service%20desk-icon-gradient-blue.svg?cdnVersion=492!https://wac-cdn.atlassian.com/dam/jcr:f89f1ce5-60f1-47c2-b9f5-657de4940d31/jira%20core-icon-gradient-blue.svg?cdnVersion=492
Jira Software Data Center helps the world’s best agile teams plan, track, and release great software at scale.
Jira Service Management Data Center is an enterprise ITSM solution that offers high availability, meeting your security and compliance needs so no request goes unresolved.
Jira Core is a project and task management solution built for business teams.
[TOC]
This Docker container makes it easy to get an instance of Jira Software, Service Management or Core up and running.
Note: Jira Software will be referenced in the examples provided.
For the JIRA_HOME directory that is used to store application data (amongst
other things) we recommend mounting a host directory as a https://docs.docker.com/engine/tutorials/dockervolumes/#/data-volumes,
or via a named volume if using a docker version >= 1.9.
Additionally, if running Jira in Data Center mode it is required that a shared
filesystem is mounted. The mountpoint (inside the container) can be configured
with JIRA_SHARED_HOME.
To get started you can use a data volume, or named volumes. In this example we'll use named volumes.
docker volume create --name jiraVolume docker run -v jiraVolume:/var/atlassian/application-data/jira --name="jira" -d -p 8080:8080 atlassian/jira-software
Success. Jira is now available on http://localhost:8080*
Please ensure your container has the necessary resources allocated to it. We recommend 2GiB of memory allocated to accommodate the application server. See https://confluence.atlassian.com/adminjiraserver071/jira-applications-installation-requirements-802592164.html for further information.
* Note: If you are using docker-machine on Mac OS X, please use open http://$(docker-machine ip default):8080 instead.
This Docker image is intended to be configured from its environment; the provided information is used to generate the application configuration files from templates. This allows containers to be repeatably created and destroyed on-the-fly, as required in advanced cluster configurations. Most aspects of the deployment can be configured in this manner; the necessary environment variables are documented below. However, if your particular deployment scenario is not covered by these settings, it is possible to override the provided templates with your own; see the section Advanced Configuration below.
If you need to override Jira's default memory allocation, you can control the minimum heap (Xms) and maximum heap (Xmx) via the below environment variables.
JVM_MINIMUM_MEMORY (default: 384m)
The minimum heap size of the JVM
JVM_MAXIMUM_MEMORY (default: 768m)
The maximum heap size of the JVM
JVM_RESERVED_CODE_CACHE_SIZE (default: 512m)
The reserved code cache size of the JVM
If Jira is run behind a reverse proxy server (e.g. a load-*** or nginx server) as https://confluence.atlassian.com/adminjiraserver072/integrating-jira-with-apache-using-ssl-828788158.html, then you need to specify extra options to make Jira aware of the setup. They can be controlled via the below environment variables.
ATL_PROXY_NAME (default: NONE)
The reverse proxy's fully qualified hostname. CATALINA_CONNECTOR_PROXYNAME
is also supported for backwards compatability.
ATL_PROXY_PORT (default: NONE)
The reverse proxy's port number via which Jira is
accessed. CATALINA_CONNECTOR_PROXYPORT is also supported for backwards
compatability.
ATL_TOMCAT_PORT (default: 8080)
The port for Tomcat/Jira to listen on. Depending on your container deployment method this port may need to be https://docs.docker.com/v17.09/engine/userguide/networking/default_network/***ding/.
ATL_TOMCAT_SCHEME (default: http)
The protocol via which Jira is accessed. CATALINA_CONNECTOR_SCHEME is also
supported for backwards compatability.
ATL_TOMCAT_SECURE (default: false)
Set 'true' if ATL_TOMCAT_SCHEME is 'https'. CATALINA_CONNECTOR_SECURE is
also supported for backwards compatability.
ATL_TOMCAT_CONTEXTPATH (default: NONE)
The context path the application is served over. CATALINA_CONTEXT_PATH is
also supported for backwards compatability.
The following Tomcat/Catalina options are also supported. For more information, see https://tomcat.apache.org/tomcat-7.0-doc/config/index.html.
ATL_TOMCAT_MGMT_PORT (default: 8005)ATL_TOMCAT_MAXTHREADS (default: 100)ATL_TOMCAT_MINSPARETHREADS (default: 10)ATL_TOMCAT_CONNECTIONTIMEOUT (default: 20000)ATL_TOMCAT_ENABLELOOKUPS (default: false)ATL_TOMCAT_PROTOCOL (default: HTTP/1.1)ATL_TOMCAT_ACCEPTCOUNT (default: 10)ATL_TOMCAT_MAXHTTPHEADERSIZE (default: 8192)If you need to pass additional JVM arguments to Jira, such as specifying a custom trust store, you can add them via the below environment variable
JVM_SUPPORT_RECOMMENDED_ARGS
Additional JVM arguments for Jira
Example:
docker run -e JVM_SUPPORT_RECOMMENDED_ARGS=-Djavax.net.ssl.trustStore=/var/atlassian/application-data/jira/cacerts -v jiraVolume:/var/atlassian/application-data/jira --name="jira" -d -p 8080:8080 atlassian/jira-software
ATL_AUTOLOGIN_COOKIE_AGE (default: ***; two weeks, in seconds)
The maximum time a user can remain logged-in with 'Remember Me'.
It is optionally possible to configure the database from the environment, avoiding the need to do so through the web startup screen.
The following variables are all must all be supplied if using this feature:
ATL_JDBC_URL
The database URL; this is database-specific.
ATL_JDBC_USER
The database user to connect as.
ATL_JDBC_PASSWORD
The password for the database user.
ATL_DB_DRIVER
The JDBC driver class; supported drivers are:
com.microsoft.sqlserver.jdbc.SQLServerDrivercom.mysql.jdbc.Driveroracle.jdbc.OracleDriverorg.postgresql.DriverThe driver must match the DB type (see next entry).
ATL_DB_TYPE
The type of database; valid supported values are:
mssqlmysqloracle10gpostgres72The following variables may be optionally supplied when configuring the database from the environment:
ATL_DB_SCHEMA_NAME
The schema name of the database. Depending on the value of ATL_DB_TYPE,
the following default values are used if no schema name is specified:
mssql: dbomysql: publicoracle10g: NONEpostgres72: publicNote: Due to licensing restrictions Jira does not ship with MySQL or Oracle JDBC drivers. To use these databases you will need to copy a suitable driver into the container and restart it. For example, to copy the MySQL driver into a container named "jira", you would do the following:
docker cp mysql-connector-java.x.y.z.jar jira:/opt/atlassian/jira/lib docker restart jira
For more information see the page https://confluence.atlassian.com/jirakb/startup-check-jira-database-driver-missing-873872169.html.
The following variables are for the Tomcat JDBC connection pool, and are optional. For more information on these see: https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
ATL_DB_MAXIDLE (default: 20)ATL_DB_MAXWAITMILLIS (default: 30000)ATL_DB_MINEVICTABLEIDLETIMEMILLIS (default: 5000)ATL_DB_MINIDLE (default: 10)ATL_DB_POOLMAXSIZE (default: 100)ATL_DB_POOLMINSIZE (default: 20)ATL_DB_REMOVEABANDONED (default: true)ATL_DB_REMOVEABANDONEDTIMEOUT (default: 300)ATL_DB_TESTONBORROW (default: false)ATL_DB_TESTWHILEIDLE (default: true)ATL_DB_TIMEBETWEENEVICTIONRUNSMILLIS (default: 30000)The following settings only apply when using the Postgres driver:
ATL_DB_KEEPALIVE (default: true)ATL_DB_SOCKETTIMEOUT (default: 240)This docker image can be run as part of a https://confluence.atlassian.com/enterprise/jira-data-center-472219731.html cluster. You can specify the following properties to start Jira as a Data Center node, instead of manually configuring a cluster.properties file, See https://confluence.atlassian.com/adminjiraserver071/installing-jira-data-center-802592197.html for more information on each property and its possible configuration.
Jira Software and Jira Service Management only
CLUSTERED (default: false)
Set 'true' to enable clustering configuration to be used. This will create a
cluster.properties file inside the container's $JIRA_HOME directory.
JIRA_NODE_ID (default: jira_node_
The unique ID for the node. By default, this includes a randomly generated ID unique to each container, but can be overridden with a custom value.
JIRA_SHARED_HOME (default: $JIRA_HOME/shared)
The location of the shared home directory for all Jira nodes. Note: This must be real shared filesystem that is mounted inside the container. Additionally, see the note about UIDs.
EHCACHE_PEER_DISCOVERY (default: default)
Describes how nodes find each other.
EHCACHE_LISTENER_HOSTNAME (default: NONE)
The hostname of the current node for cache communication. Jira Data Center will resolve this this internally if the parameter isn't set.
EHCACHE_LISTENER_PORT (default: 40001)
The port the node is going to be listening to. Depending on your container deployment method this port may need to be https://docs.docker.com/v17.09/engine/userguide/networking/default_network/***ding/.
EHCACHE_OBJECT_PORT (default: dynamic)
The port number on which the remote objects bound in the registry receive calls. This defaults to a free port if not specified. This port may need to be https://docs.docker.com/v17.09/engine/userguide/networking/default_network/***ding/.
EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS (default: 2000)
The default timeout for the Ehcache listener.
EHCACHE_MULTICAST_ADDRESS (default: NONE)
A valid multicast group address. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' instead of 'default'.
EHCACHE_MULTICAST_PORT (default: NONE)
The dedicated port for the multicast heartbeat traffic. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' instead of 'default'. Depending on your container deployment method this port may need to be https://docs.docker.com/v17.09/engine/userguide/networking/default_network/***ding/.
EHCACHE_MULTICAST_TIMETOLIVE (default: NONE)
A value between 0 and 255 which determines how far the packets will propagate. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' instead of 'default'.
EHCACHE_MULTICAST_HOSTNAME (default: NONE)
The hostname or IP of the interface to be used for sending and receiving multicast packets. Required when EHCACHE_PEER_DISCOVERY is set to 'automatic' instead of 'default'.
By default the Jira application runs as the user jira, with a UID and GID
of 2001. Consequently this UID must have write access to the shared
filesystem. If for some reason a different UID must be used, there are a number
of options available:
To preserve strict permissions for certain configuration files, this container starts as
root to perform bootstrapping before running Jira under a non-privileged user account.
If you wish to start the container as a non-root user, please note that Tomcat
configuration will be skipped and a warning will be logged. You may still apply custom
configuration in this situation by mounting a custom server.xml file directly to
/opt/atlassian/jira/conf/server.xml
Database and Clustering bootstrapping will work as expected when starting this container as a non-root user.
SET_PERMISSIONS (default: true)
Define whether to set home directory permissions on startup. Set to false to disable
this behaviour.
As mentioned at the top of this section, the settings from the environment are used to populate the application configuration on the container startup. However in some cases you may wish to customise the settings in ways that are not supported by the environment variables above. In this case, it is possible to modify the base templates to add your own configuration. There are three main ways of doing this; modify our repository to your own image, build a new image from the existing one, or provide new templates at startup. We will briefly outline this methods here, but in practice how you do this will depend on your needs.
Building your own image
config; NOTE: The files must have the .j2 extensions. However you
don't have to use template variables if you don't wish.docker build --tag my-jira-8-image --build-arg JIRA_VERSION=8.x.x .Build a new image from the existing one
Dockerfile, which starts with the line e.g: FROM atlassian/jira-software:latest.COPY line to overwrite the provided templates.Overwrite the templates at runtime
There are two main ways of doing this:
/opt/atlassian/etc/, and then run it.--volume my-config:/opt/atlassian/etc/.By default the Jira logs are written inside the container, under
${JIRA_HOME}/logs/. If you wish to expose this outside the container (e.g. to
be aggregated by logging system) this directory can be a data volume or ***d
mount. Additionally, Tomcat-specific logs are written to
/opt/atlassian/jira/logs/.
To upgrade to a more recent version of Jira you can simply stop the jira container and start a new one based on a more recent image:
docker stop jira docker rm jira docker run ... (See above)
As your data is stored in the data volume directory on the host it will still be available after the upgrade.
Note: Please make sure that you don't accidentally remove the jira container and its volumes using the -v option.
For evaluations you can use the built-in database that will store its files in the Jira home directory. In that case it is sufficient to create a backup archive of the docker volume.
If you're using an external database, you can configure Jira to make a backup automatically each night. This will back up the current state, including the database to the jiraVolume docker volume, which can then be archived. Alternatively you can backup the database separately, and continue to create a backup archive of the docker volume to back up the Jira Home directory.
Read more about data recovery and backups: https://confluence.atlassian.com/adminjiraserver071/backing-up-data-802592964.html
The latest tag matches the most recent release of Atlassian Jira Software, Jira Core or Jira Service Management. Thus atlassian/jira-software:latest will use the newest version of Jira available.
Alternatively you can use a specific major, major.minor, or major.minor.patch version of Jira by using a version number tag:
atlassian/jira-software:8
atlassian/jira-software:8.14
atlassian/jira-software:8.14.0
atlassian/jira-servicemanagement:4
atlassian/jira-servicemanagement:4.14
atlassian/jira-servicemanagement:4.14.0
atlassian/jira-core:8
atlassian/jira-core:8.14
atlassian/jira-core:8.14.0
All Jira versions from 7.13+ (Software/Core) / 3.16+ (Service Management) are available.
Note: All Jira Service Management 4.x versions are also available as atlassian/jira-servicedesk. This namespace has been deprecated and versions from 5+ onwards will only be available as atlassian/jira-servicemanagement.
These images include built-in scripts to assist in performing common JVM diagnostic tasks.
/opt/atlassian/support/thread-dumps.sh can be run via docker exec to easily trigger the collection of thread
dumps from the containerized application. For example:
docker exec my_container /opt/atlassian/support/thread-dumps.sh
By default this script will collect 10 thread dumps at 5 second intervals. This can
be overridden by passing a custom value for the count and interval, by using -c / --count
and -i / --interval respectively. For example, to collect 20 thread dumps at 3 second intervals:
docker exec my_container /opt/atlassian/support/thread-dumps.sh --count 20 --interval 3
Thread dumps will be written to $APP_HOME/thread_dumps/<date>.
Note: By default this script will also capture output from top run in 'Thread-mode'. This can
be disabled by passing -n / --no-top
/opt/atlassian/support/heap-dump.sh can be run via docker exec to easily trigger the collection of a heap
dump from the containerized application. For example:
docker exec my_container /opt/atlassian/support/heap-dump.sh
A heap dump will be written to $APP_HOME/heap.bin. If a file already exists at this
location, use -f / --force to overwrite the existing heap dump file.
The jcmd utility is also included in these images and can be used by starting a bash shell
in the running container:
docker exec -it my_container /***/bash
For product support, go to:
Note that these images are built on the AdoptOpenJDK images. Prior to Jira 7.13 OpenJDK was not a supported platform (3.16 for Service Management). See https://confluence.atlassian.com/jirasoftware/jira-software-release-notes-776821069.html for more information.
See Development for details on setting up a development environment and running tests.
Copyright © 2020 Atlassian Corporation Pty Ltd. Licensed under the Apache License, Version 2.0.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 tongdi/jira-servicemanagement 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: