首页 > 解决方案 > Artifactory 7.3,基于 docker,设置问题

问题描述

你好,

我在使用新的工件设置时遇到了一些奇怪的问题。这次我们将转向基于 docker-compose 的安装并在容器中运行工件。JF_PRODUCT_DATA_INTERNAL(容器内指/var/opt/jfrog/artifactory)目录挂载到本地主机上的/opt/artifactory。

第一个问题,当我启动容器时,我看到 /opt/artifactory 下创建了 artifactory.home_IS_UNDEFINED 文件夹。

[root@guvcdapartifa04 artifactory]# ls -ltr artifactory.home_IS_UNDEFINED/
total 8
drwxr-x---. 3 artifactory artifactory 4096 May 19 15:24 access
drwxr-x---. 2 artifactory artifactory 4096 May 19 15:24 logs

ls -ltr from one level up lists these directories...
[root@guvcdapartifa04 artifactory]# ls -ltr
total 44
drwxr-xr-x. 6 artifactory artifactory 4096 Apr 16 17:02 var
drwxr-xr-x. 5 artifactory artifactory 4096 Apr 16 21:11 app
drwxr-xr-x. 4 artifactory artifactory 4096 Apr 16 21:22 bootstrap
drwxr-xr-x. 6 artifactory artifactory 4096 Apr 16 21:22 work
drwxr-xr-x. 6 artifactory artifactory 4096 Apr 16 21:22 data
drwxr-x---. 3 artifactory artifactory 4096 May  9 13:07 access
drwxr-xr-x. 6 artifactory artifactory 4096 May 10 18:08 backup
drwxr-x---. 2 artifactory artifactory 4096 May 13 18:33 logs
drwxr-xr-x. 4 artifactory artifactory 4096 May 19 00:23 log
drwxr-xr-x. 9 artifactory artifactory 4096 May 19 14:23 etc
drwxr-x---. 4 artifactory artifactory 4096 May 19 14:23 artifactory.home_IS_UNDEFINED

我已经尝试在我的工件服务的撰写定义中将 JF_ARTIFACTORY_HOME 和 artifactory.home 设置为 /var/opt/jfrog/artifactory ,但它没有帮助并且结果是相同的。artifactory.home_IS_UNDEFINED 文件夹是在每次我删除它后启动 artifactory 容器后创建的。

compose.yml 中的服务定义...

  artifactory:
    container_name: artifactory
    image:          docker.bintray.io/jfrog/artifactory-pro:7.3.2
    links:          [ postgres ]
    expose:         [ '8081','8082' ]
    restart:        unless-stopped
    user:           artifactory
    ulimits:
      nproc: 65535
      nofile:
        soft: 32000
        hard: 40000
    logging:
      driver: json-file
      options:
        max-size: "50m"
        max-file: "30"
    environment:
      JF_ROUTER_ENTRYPOINTS_EXTERNALPORT: '8082'
      JF_ARTIFACTORY_HOME: '/var/opt/jfrog/artifactory'
      # JF_SYSTEM_YAML: '/opt/jfrog/artifactory/var/etc/system.yaml'
      # JF_ARTIFACTORY_PID: '/opt/jfrog/artifactory/app/run/artifactory.pid'
      # JF_PRODUCT_DATA_INTERNAL: '/var/opt/jfrog/artifactory'
      # JF_PRODUCT_HOME: '/opt/jfrog/artifactory'
      # JF_SHARED_NODE_IP: '192.168.76.180'
      # JF_SHARED_NODE_NAME: 'guvcdapartifa04'
      # JF_SHARED_NODE_ID: 'guvcdapartifa04'
      # JF_ARTIFACTORY_USER: 'artifactory'
    volumes:
      - type:      bind
        source:   /etc/localtime
        target:   /etc/localtime
        read_only: true
      - type:      bind
        source:    /opt/artifactory
        target:    /var/opt/jfrog/artifactory
        read_only: false

请注意下面 JF_ARTIFACTORY_HOME,Artifactory Home 的值。

artifactory    | ========================
artifactory    | JF Environment variables
artifactory    | ========================
artifactory    |
artifactory    | JF_SHARED_NODE_NAME                 : efec1fe35cdd
artifactory    | JF_SYSTEM_YAML                      : /opt/jfrog/artifactory/var/etc/system.yaml
artifactory    | JF_ARTIFACTORY_PID                  : /opt/jfrog/artifactory/app/run/artifactory.pid
artifactory    | JF_SHARED_EXTRAJAVAOPTS             : -Xms2g
artifactory    | -Xmx8g                              :
artifactory    | JF_PRODUCT_DATA_INTERNAL            : /var/opt/jfrog/artifactory
artifactory    | JF_PRODUCT_HOME                     : /opt/jfrog/artifactory
artifactory    | JF_ROUTER_TOPOLOGY_LOCAL_REQUIREDSERVICETYPES : jfrt,jfac,jfmd,jffe
artifactory    | JF_ROUTER_ENTRYPOINTS_EXTERNALPORT  : 8082
artifactory    | JF_ARTIFACTORY_HOME                 : /var/opt/jfrog/artifactory
artifactory    | JF_SHARED_NODE_IP                   : 172.20.0.3
artifactory    | JF_SHARED_NODE_ID                   : efec1fe35cdd
artifactory    | JF_ARTIFACTORY_USER                 : artifactory
artifactory    | Starting router...
artifactory    | router not running. Proceed to start it up.
artifactory    | router started. PID: 2732

. . .

artifactory    |                 _   _  __           _                     _____
artifactory    |      /\        | | (_)/ _|         | |                   |  __ \
artifactory    |     /  \   _ __| |_ _| |_ __ _  ___| |_ ___  _ __ _   _  | |__) | __ ___
artifactory    |    / /\ \ | '__| __| |  _/ _` |/ __| __/ _ \| '__| | | | |  ___/ '__/ _ \
artifactory    |   / ____ \| |  | |_| | || (_| | (__| || (_) | |  | |_| | | |   | | | (_) |
artifactory    |  /_/    \_\_|   \__|_|_| \__,_|\___|\__\___/|_|   \__, | |_|   |_|  \___/
artifactory    |  Version:  7.3.2                                   __/ |
artifactory    |  Revision: 70302900                               |___/
artifactory    |  Artifactory Home: '/opt/jfrog/artifactory'
artifactory    |  Node ID: 'abd383aec9fd'

第二个问题,我看到日志中报告了这些错误插件。

artifactory    | ==================Plugins Status===================
artifactory    | #  propertySetsConfig.groovy            -->  Loaded
artifactory    | #  haClusterDump.groovy                 -->  Loaded
artifactory    | #  httpSsoConfig.groovy                 -->  Loaded
artifactory    | #  repoLayoutsConfig.groovy             -->  Loaded
artifactory    | #  storageSummary.groovy                -->  Loaded
artifactory    | #  ldapGroupsConfig.groovy              -->  Loaded
artifactory    | #  ldapSettingsConfig.groovy            -->  Loaded
artifactory    | #  pluginsConfig.groovy                 -->  Error
artifactory    | #  proxiesConfig.groovy                 -->  Loaded
artifactory    | #  requestRouting.groovy                -->  Error
artifactory    | ===================================================

. . .

[root@guvcdapartifa04 artifactory]# services logs artifactory | grep ERROR
artifactory    | 2020-05-19 08:54:07,221 [art-init] [ERROR] (o.a.a.p.GroovyRunnerImpl:349) - Error loading script from '/opt/jfrog/artifactory/var/etc/artifactory/plugins/pluginsConfig.groovy'.
artifactory    | 2020-05-19 08:54:07,994 [art-init] [ERROR] (o.a.a.p.GroovyRunnerImpl:349) - Error loading script from '/opt/jfrog/artifactory/var/etc/artifactory/plugins/requestRouting.groovy'.
[root@guvcdapartifa04 artifactory]#

第三个问题,我想摆脱 url 中的“artifactory”上下文:https://node.org.local/artifactory/。我希望它像https://node.org.local/一样简单。可能吗 ?

第四个问题,容器实例以启动命令中的新“ALL-UNNAMED”设置开始 - 我很担心,我们想了解它们的目的。

--add-opens java.base/java.util=ALL-UNNAMED 
 --add-opens java.base/java.lang.reflect=ALL-UNNAMED 
 --add-opens java.base/java.lang.invoke=ALL-UNNAMED 
 --add-opens java.base/java.text=ALL-UNNAMED 
 --add-opens java.base/java.nio=ALL-UNNAMED 
 --add-opens java.desktop/java.awt.font=ALL-UNNAMED 

[root@guvcdapartifa04 artifactory]#  ps -ef | grep artifactory | grep Bootstrap
artifac+  8670  5699 35 15:24 ?        00:01:33 /opt/jfrog/artifactory/app/third-party/java/bin/java -Djava.util.logging.config.file=/opt/jfrog/artifactory/app/artifactory/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -server -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=kill -9 %p --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED -Dfile.encoding=UTF8 -Djruby.compile.invokedynamic=false -Djruby.bytecode.version=1.8 -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Djava.security.egd=file:/dev/./urandom -Dartdist=zip -Djf.product.home=/opt/jfrog/artifactory -Xms2g -Xmx8g -Djruby.bytecode.version=1.8 -Dartifactory.metadata.native.ui=true -Dignore.endorsed.dirs= -classpath /opt/jfrog/artifactory/app/artifactory/tomcat/bin/bootstrap.jar:/opt/jfrog/artifactory/app/artifactory/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/opt/jfrog/artifactory/app/artifactory/tomcat -Dcatalina.home=/opt/jfrog/artifactory/app/artifactory/tomcat -Djava.io.tmpdir=/opt/jfrog/artifactory/var/work/artifactory/tomcat/temp org.apache.catalina.startup.Bootstrap start

等待你的回复

标签: artifactory

解决方案


对于第一个问题,我建议删除旧的 logback.xml - 你接受了谢谢。

安装最新的 groovy 后,第二个问题得到解决。

对于第三个问题,Artifactory 无法再配置为 Tomcat 根应用程序。要删除 /artifactory 上下文,您需要在反向代理(负载均衡器)中设置相关配置。参考:https ://www.jfrog.com/confluence/display/JFROG/HTTP+Settings

对于第四个问题。有关添加打开的详细信息:https ://www.oreilly.com/library/view/java-9-building/9781788832823/40494528-393d-49e4-a216-d7a2d4d7e95c.xhtml


推荐阅读