5.3. 配置环境变量
配置环境变量旨在方便地调整镜像,而无需重新构建镜像,并应根据需要由用户设置。
| 变量名称 | 描述 | 默认值 | 示例值 | 
|---|---|---|---|
| AB_JOLOKIA_CONFIG | 
								如果设置使用此文件(包括路径)为 Jolokia JVM 代理属性(如 Jolokia 参考手册中所述)。如果没有设置,将使用手册中定义的设置创建  | - | /opt/jolokia/custom.properties | 
| AB_JOLOKIA_DISCOVERY_ENABLED | 启用 Jolokia 发现。 | false | true | 
| AB_JOLOKIA_HOST | 要绑定到的主机地址。 | 0.0.0.0 | 127.0.0.1 | 
| AB_JOLOKIA_ID | 要使用的代理 ID,即容器 ID。 | 
								 | openjdk-app-1-xqlsj | 
| AB_JOLOKIA_OFF | 如果设置禁用 Joloka 激活(即,回显空值)。 | 启用了 Jolokia | true | 
| AB_JOLOKIA_OPTS | 
								要附加到代理配置中的附加选项。它们应该使用  | - | backlog=20 | 
| AB_JOLOKIA_PASSWORD | 用于基本身份验证的密码。默认情况下关闭身份验证。 | - | mypassword | 
| AB_JOLOKIA_PORT | 要侦听的端口。 | 8778 | 5432 | 
| AB_JOLOKIA_USER | 用于基本身份验证的用户。 | jolokia | myusername | 
| AB_PROMETHEUS_ENABLE | 启用 Prometheus 代理的使用。 | - | True | 
| AB_PROMETHEUS_JMX_EXPORTER_PORT | 用于 Prometheus JMX Exporter 的端口。 | - | 9799 | 
| CONTAINER_CORE_LIMIT | 计算的核心限制,如 CFS 带宽控制 中所述。 | - | 2 | 
| CONTAINER_MAX_MEMORY | 分配给容器的内存限值。 | - | 1024 | 
| GC_ADAPTIVE_SIZE_POLICY_WEIGHT | 提供给当前垃圾收集器时间与之前垃圾收集器时间的权重。 | - | 90 | 
| GC_CONTAINER_OPTIONS | 指定要使用的 Java GC。此变量的值应包含必要的 JRE 命令行选项来指定所需的 GC,这将覆盖默认值。 | -XX:+UseParallelOldGC | -XX:+UseG1GC | 
| GC_MAX_HEAP_FREE_RATIO | GC 之后可用的最大堆百分比,以避免缩小。 | - | 40 | 
| GC_MAX_METASPACE_SIZE | 最大元空间大小。 | - | 100 | 
| GC_METASPACE_SIZE | 初始元空间大小。 | - | 20 | 
| GC_MIN_HEAP_FREE_RATIO | GC 后可用的最小堆百分比,以避免扩展。 | - | 20 | 
| GC_TIME_RATIO | 指定垃圾回收之外花费的时间(例如,应用程序执行花费的时间)与垃圾回收中花费的时间比。 | - | 4 | 
| HTTPS_PROXY | HTTPS 代理的位置。这优先于 http_proxy 和 HTTP_PROXY,并将用于 Maven 构建和 Java 运行时。 | - | myuser@127.0.0.1:8080 | 
| HTTP_PROXY | HTTP 代理的位置。这将用于 Maven 构建和 Java 运行时。 | - | 127.0.0.1:8080 | 
| JAVA_APP_DIR | 应用程序所在的目录。应用程序中的所有路径都相对于这个目录。 | - | myapplication/ | 
| JAVA_ARGS | 
								传递给  | - | - | 
| JAVA_CLASSPATH | 
								要使用的类路径。如果没有提供,启动脚本会检查文件  | - | - | 
| JAVA_DEBUG | 如果设置了远程调试,则会打开。 | false | true | 
| JAVA_DEBUG_PORT | 用于远程调试的端口。 | 5005 | 8787 | 
| JAVA_DIAGNOSTICS | 将其设置为在运行命令期间将一些诊断信息输出到标准输出。 | false | true | 
| JAVA_INITIAL_MEM_RATIO | 
								当  | 25 | 25 | 
| JAVA_LIB_DIR | 
								包含 Java jar 文件的目录以及包含  | JAVA_APP_DIR | - | 
| JAVA_MAIN_CLASS | 
								用作  | - | com.example.MainClass | 
| JAVA_MAX_INITIAL_MEM | 
								当  | 4096 | 4096 | 
| JAVA_MAX_MEM_RATIO | 
								当  | 50 | - | 
| JAVA_OPTS | 
								传递给  | - | -verbose:class | 
| JAVA_OPTS_APPEND | 要附加到 JAVA_OPTS 中生成的选项的用户指定的 Java 选项。 | - | -Dsome.property=foo | 
| LOGGING_SCRIPT_DEBUG | 
								设置为 true 以启用脚本调试。弃用  | true | True | 
| MAVEN_ARGS | 
								调用 Maven 时使用的参数,替换  | package hawt-app:build -DskipTests -e | -e -Popenshift -DskipTests -Dcom.redhat.xpaas.repo.redhatga package | 
| MAVEN_ARGS_APPEND | 其他 Maven 参数。 | - | -X -am -pl | 
| MAVEN_CLEAR_REPO | 
								如果设置,则 Maven 存储库会在工件构建后被删除。这可用于将创建的应用镜像的大小缩小到小,但可防止 增量构建。将被  | false | - | 
| MAVEN_LOCAL_REPO | 用作本地 Maven 存储库的目录。 | - | /home/jboss/.m2/repository | 
| MAVEN_MIRRORS | 
								如果设置,则启用多镜像支持,其他  | - | dev-one,qe-two | 
| MAVEN_MIRROR_URL | 用于检索工件的镜像的基本 URL。 | - | |
| MAVEN_REPOS | 
								如果设置了多存储库支持,则启用多存储库支持,其他  | - | dev-one,qe-two | 
| MAVEN_S2I_ARTIFACT_DIRS | 
								要扫描构建输出的源目录的相对路径,该路径将复制到  | target | target | 
| MAVEN_S2I_GOALS | 
								使用 Maven 构建执行的以空格分隔的目标列表。例如, | package | 软件包安装 | 
| MAVEN_SETTINGS_XML | 
								要使用的自定义 Maven  | - | /home/jboss/.m2/settings.xml | 
| NO_PROXY | 可直接访问的主机、IP 地址或域的逗号分隔列表。这将用于 Maven 构建和 Java 运行时。 | - | foo.example.com,bar.example.com | 
| S2I_ARTIFACTS_DIR | 使用 save-artifacts 脚本保留工件的位置挂载,这些脚本与增量构建一起使用。这不应该被最终用户覆盖。 | - | 
								 | 
| S2I_DESTINATION_DIR | 
								S2I 挂载的根目录,如  | - | 
								 | 
| S2I_ENABLE_INCREMENTAL_BUILDS | 不要删除源和中间构建文件,以便保存它们以用于将来的构建。 | true | true | 
| S2I_IMAGE_SOURCE_MOUNTS | 
								源目录中应包含的相对路径列表,这些路径应包含在镜像中。列表可以包括通配符,这些通配符使用 find 进行扩展。默认情况下,挂载的目录的内容与源文件夹类似处理,其中  | - | 
								 | 
| S2I_SOURCE_CONFIGURATION_DIR | 
								包含要复制到产品配置目录的应用程序配置文件的相对路径,请参阅  | 配置 | 配置 | 
| S2I_SOURCE_DATA_DIR | 
								包含要复制到产品数据目录的应用程序数据文件的相对路径,请参阅  | data | data | 
| S2I_SOURCE_DEPLOYMENTS_DIR | 
								指向包含要复制到产品部署目录的目录的相对路径,请参阅  | 部署 | 部署 | 
| S2I_SOURCE_DIR | 要构建源代码的挂载位置。这不应该被最终用户覆盖。 | - | ${S2I_DESTINATION_DIR}/src} | 
| S2I_TARGET_CONFIGURATION_DIR | 
								复制到  | - | /opt/eap/standalone/configuration | 
| S2I_TARGET_DATA_DIR | 
								复制到  | - | /opt/eap/standalone/data | 
| S2I_TARGET_DEPLOYMENTS_DIR | 
								复制到位于  | - | /deployments | 
| http_proxy | HTTP 代理的位置。这优先于 HTTP_PROXY,用于 Maven 构建和 Java 运行时。 | - | |
| https_proxy | HTTPS 代理的位置。这优先于 HTTPS_PROXY、http_proxy 和 HTTP_PROXY,用于 Maven 构建和 Java 运行时。 | - | myuser:mypass@127.0.0.1:8080 | 
| no_proxy | 可直接访问的主机、IP 地址或域的逗号分隔列表。这优先于 NO_PROXY,用于 Maven 构建和 Java 运行时。 | - | *.example.com | 
| prefix_MAVEN_MIRROR_ID | 用于指定镜像的 ID。如果省略,会生成一个唯一 ID。 | - | internal-mirror | 
| prefix_MAVEN_MIRROR_OF | 此条目镜像的存储库 ID。 | 外部:* | - | 
| prefix_MAVEN_MIRROR_URL | 镜像的 URL。 | - | |
| prefix_MAVEN_REPO_DIRECTORY_PERMISSIONS | Maven 存储库目录权限。 | - | 775 | 
| prefix_MAVEN_REPO_FILE_PERMISSIONS | Maven 存储库文件权限。 | - | 664 | 
| prefix_MAVEN_REPO_HOST | Maven 存储库主机(如果没有使用完全定义的 URL,它将回退到服务)。 | - | repo.example.com | 
| prefix_MAVEN_REPO_ID | Maven 存储库 ID. | - | my-repo-id | 
| prefix_MAVEN_REPO_LAYOUT | Maven 存储库布局. | - | default | 
| prefix_MAVEN_REPO_NAME | Maven 存储库名称。 | - | my-repo-name | 
| prefix_MAVEN_REPO_PASSPHRASE | Maven 存储库密码短语. | - | maven1! | 
| prefix_MAVEN_REPO_PASSWORD | Maven 存储库密码。 | - | maven1! | 
| prefix_MAVEN_REPO_PATH | Maven 存储库路径(如果没有使用完全定义的 URL,它将回退到服务)。 | - | /maven2/ | 
| prefix_MAVEN_REPO_PORT | Maven 存储库端口(如果没有使用完全定义的 URL,它将回退到服务)。 | - | 8080 | 
| prefix_MAVEN_REPO_PRIVATE_KEY | Maven 存储库私钥。 | - | ${user.home}/.ssh/id_dsa | 
| prefix_MAVEN_REPO_PROTOCOL | Maven 存储库协议(如果没有使用完全定义的 URL,它将回退到服务)。 | - | http | 
| prefix_MAVEN_REPO_RELEASES_CHECKSUM_POLICY | Maven 存储库发布 checksum 策略。 | - | warn | 
| prefix_MAVEN_REPO_RELEASES_ENABLED | 启用 Maven 存储库发行版本。 | - | true | 
| prefix_MAVEN_REPO_RELEASES_UPDATE_POLICY | Maven 存储库发行版本更新策略。 | - | always | 
| prefix_MAVEN_REPO_SERVICE | Maven 存储库服务,以便在未指定 prefix_MAVEN_REPO_URL 中查找。 | - | buscentr-myapp | 
| prefix_MAVEN_REPO_SNAPSHOTS_CHECKSUM_POLICY | Maven 存储库快照校验和策略。 | - | warn | 
| prefix_MAVEN_REPO_SNAPSHOTS_ENABLED | 启用 Maven 存储库快照。 | - | true | 
| prefix_MAVEN_REPO_SNAPSHOTS_UPDATE_POLICY | Maven 存储库快照更新策略。 | - | always | 
| prefix_MAVEN_REPO_URL | Maven 存储库 URL (已定义)。 | - | |
| prefix_MAVEN_REPO_USERNAME | Maven 存储库用户名。 | - | mavenUser | 
5.3.1. 使用默认值配置环境变量
以下配置环境变量指定了默认值,可以覆盖。
| 变量名称 | 描述 | Defaul 值 | 
|---|---|---|
| AB_JOLOKIA_AUTH_OPENSHIFT | 
									切换到 OpenShift TLS 通信的客户端身份验证。此参数的值可以是相对可分辨名称,它必须包含在提供的客户端的证书中。启用此参数将自动将 Jolokia 切换到 HTTPS 通信模式。默认 CA 证书设置为  | true | 
| AB_JOLOKIA_HTTPS | 
									切换到与 HTTPS 的安全通信。默认情况下,如果在 AB_JOLOKIA_OPTS 中未提供  | true | 
| AB_JOLOKIA_PASSWORD_RANDOM | 
									确定是否应该生成随机  | true | 
| AB_PROMETHEUS_JMX_EXPORTER_CONFIG | 用于 Prometheus JMX 导出器的配置路径。 | /opt/jboss/container/prometheus/etc/jmx-exporter-config.yaml | 
| S2I_SOURCE_DEPLOYMENTS_FILTER | 复制部署时要应用的以空格分隔的过滤器列表。默认为 *。 | * |