跳到元数据的末尾
转到元数据的开始

概述

确保您已经检查了整个安装过程

在继续执行本页上的说明之前,请确保您已经按照中所描述的检查了整个安装过程安装Artifactory

人工Docker镜像可以从Bintray中提取并作为Docker容器运行。

为此,您需要在您的机器上正确安装和配置Docker客户端。有关安装和使用Docker的详细信息,请参考码头工人的文档

使用Docker运行Artifactory 4.x

作为Docker容器的Artifactory在5.0版本中被完全重新设计。如果您正在运行以前版本的Artifactory,请参考使用Docker运行在工厂里。x用户指南

码头工人组成

我们建议在Docker上运行Artifactory的方式是使用码头工人组成。这将确保在一个具有预配置参数的YAML文件中指定所有必需的服务。

向Java证书中添加自签名证书

您可以向Artifactory添加额外的自签名证书Java的cacerts,所以他们我会得到Artifactory的信任。来,将所需的证书放在主机的目录中并通过目录作为卷到“码头工人运行”挂载到/artifactory_extra_certs的命令:"docker run——name artifactory -d -p 8081:8081 -v /path/to/certs:/artifactory_extra_certs docker.bintray.io/jfrog/artifactory-pro:latest"容器的入口点将把它们添加到Java中。在启动Artifactory之前,请执行以下命令。




使用Docker撰写

要设置由多个容器组成的Artifactory环境(例如,数据库、NGINX负载平衡器和Artifactory各自运行在不同的容器中),可以使用docker-compose

有关Docker Compose的更多详细信息,请参阅码头工人的文档

Artifactory OSSArtifactory职业Artifactory哈都可以使用Docker Compose来运行。有关详细的文档和示例Compose文件,展示了使用Docker Compose设置Artifactory的各种方法,请参阅artifactory-docker-examplesGitHub上的存储库。


Docker上的Artifactory

将Artifactory作为容器运行是简单而直接的,它包括以下基本步骤:

由于在Docker容器中运行的Artifactory实例是可变的,一旦容器被移除,所有的数据和配置文件都会丢失。如果希望数据持久化(例如在升级到新版本时),还应该执行下一步操作。

提取人工Docker镜像

Artifactory Docker镜像可以通过执行以下相应的Docker命令从Bintray中提取,具体取决于您是提取Artifactory OSS还是Artifactory Pro:

提取Artifactory Pro Docker映像
Docker .bintray.io/jfrog/artifactory-pro:最新版本

提取人工OSS Docker镜像
Docker .bintray.io/jfrog/artifactory-oss

正在提取人工CE Docker镜像
Docker .bintray.io/jfrog/artifactory-cpp-ce

运行人工容器

列表中列出已下载的Docker镜像码头工人的图片命令,它应该显示如下输出:

$ docker images存储库标签图像ID创建大小docker.bintray。io/jfrog/artifactory-pro最新的da70b82904e7 2天前861.5 MB…

要启动Artifactory容器,请根据您运行的是Artifactory Pro还是Artifactory OSS使用下面相应的命令:

在容器中运行Artifactory Pro
$ docker run——name artifactory -d -p 8081:8081 docker.bintray.io/jfrog/artifactory-pro:最新

在容器中运行人工OSS
$ docker run——name artifactory -d -p 8081:8081 docker.bintray.io/jfrog/artifactory-oss:最新的

在容器中运行工厂CE
$ docker run——name artifactory -d -p 8081:8081 docker.bintray.io/jfrog/artifactory-cpp-ce:最新的


设置Java内存参数

为了控制Artifactory使用的内存,您可以传递环境变量EXTRA_JAVA_OPTIONS。

例如:

将JVM内存传递给人工Docker容器
$ docker run——name artifactory -d -p 8081:8081 -e EXTRA_JAVA_OPTIONS='-Xms512m -Xmx2g -Xss256k -XX:+UseG1GC' docker.bintray.io/jfrog/artifactory-pro:最新

支持的环境变量

人工Docker镜像可以使用环境变量进行定制。

通过Docker执行命令将这些值作为环境变量传递。

例如:

docker运行-d——name art -e SERVER_XML_ARTIFACTORY_MAX_THREADS=500 -p 8081:8081docker.bintray.io / jfrog / artifactory-pro: 6.6.3

Artifactory将在Tomcat server.xml中将maxThreads设置为“500”。

Java系统属性

您可以将Java系统属性传递给运行Artifactory的JVM

变量
功能
默认的
EXTRA_JAVA_OPTIONS
将Java选项传递给Artifactory JVM

数据库

中记录了数据库环境变量修改数据库页面


Tomcat Server.xml

变量
功能
默认的
SERVER_XML_ARTIFACTORY_PORT
设置自定义Artifactory端口。 8081
SERVER_XML_ARTIFACTORY_MAX_THREADS
设置自定义Artifactory maxThreads。 200
SERVER_XML_ACCESS_MAX_THREADS
设置自定义访问maxThreads。 50
SERVER_XML_ARTIFACTORY_EXTRA_CONFIG
添加一个额外的Artifactory连接器配置。
SERVER_XML_ACCESS_EXTRA_CONFIG
添加一个额外的Access连接器配置
SERVER_XML_EXTRA_CONNECTOR
向Tomcat添加另一个连接器。例如支持SSL。



ha特定的环境变量

将环境变量传递给入口点脚本

Artifactory Pro Docker映像的入口点脚本接受各种环境变量。下表中记录了这些参数,可用于操作各种特定于ha的设置。当使用编排工具(如Kubernetes或Docker Compose)启动新的Artifactory节点时,设置以下变量特别有用。的详细信息ha-node.properties请参考设置存储配置

变量

功能

默认值
HA_IS_PRIMARY
确定该节点是设置为集群中的主节点还是成员节点。 -
HA_NODE_ID
节点的值。参数。属性文件。 节点——美元(主机名)
HA_HOST_IP
容器的IP。该变量用于组成完整的上下文。只有在没有设置$HA_CONTEXT_URL变量的情况下,才使用。通过运行'hostname -i'来确定。 $(主机名我)
HA_CONTEXT_URL
context的值。参数“Url”。属性文件。这是向集群成员公开的节点URL。如果没有设置,$HA_HOST_IP变量将被用来派生完整的context.url。 http:// HA_HOST_IP美元:8081 / artifactory
HA_MEMBERSHIP_PORT
节点的Hazelcast成员端口。 10002
ART_PRIMARY_BASE_URL
只有当成员节点不属于同一个docker网络时,才可以在成员节点上设置这个参数,这样它们就不能通过容器名或主节点名相互访问容器不是"artifactory-node1"。入口点脚本将使用此URL向主节点发送HTTP请求,以等待主节点启动。 http://artifactory-node1:8081/artifactory
HA_DATA_DIR
'artifactory.ha.data. data. '的值。参数“Dir”。属性文件。 /var/opt/jfrog/artifactory /数据
HA_BACKUP_DIR
“artifact .ha.backup. conf”文件的值。参数“Dir”。属性文件。 /var/opt/jfrog/artifactory /备份



管理数据持久性

“artifactory”用户

以前,Artifactory Docker容器是以用户身份启动的,但由用户运行artifactory。从6.2版开始,userartifactory用于启动和运行Docker容器。注意:

  • artifactory用户默认ID为1030
  • artifactory用户必须具有对挂载在Artifactory容器上的任何持久存储的写权限

为了在Artifactory Docker容器被移除后保留您的数据和配置,您需要将它们存储在挂载到Docker容器的外部卷上。有两种方法:

  • 使用主机目录
  • 使用名为卷的Docker

使用主机目录

外部卷是主机文件系统中的一个目录(例如/var/opt/jfrog/artifactory)。当你把这个传递给码头工人运行命令,Artifactory进程将使用它来读取配置并存储其数据。

要挂载上面的示例,您将使用以下命令:

$ docker run——name artifactory-pro -d -v /var/opt/jfrog/artifactory:/var/opt/jfrog/artifactory -p 8081:8081 docker.bintray.io/jfrog/artifactory-pro:最新

这增加了/var/opt/jfrog/artifactory目录到容器的/var/opt/jfrog/artifactory然后由Artifactory用于配置和数据。

使用名为卷的Docker

在本例中,您创建了一个名为volume的docker,并将其传递给容器。默认情况下,命名卷是目录下的本地目录/var/lib/docker/volumes/ <名称>,但可以设置为与其他位置一起工作。更多详细信息,请参考Docker文档中的码头工人卷

下面的例子创建了一个名为volume的Dockerartifactory_data并将其安装到下面的人工容器中/var/opt/jfrog/artifactory:

$ docker run——name artifactory5_data:/var/opt/jfrog/artifactory -p 8081:8081 docker.bintray.io/jfrog/artifactory-pro:最新的

在这种情况下,即使容器停止并移除,卷仍然存在,并且可以使用上述方法将卷附加到正在运行的新容器上码头工人运行命令。


额外配置目录

您可以挂载额外的配置文件,binarystore.xmlartifactory.licdb.properties,那就是您的人工安装所需的。
为此,您需要将主机上的文件或目录挂载到Artifactory Docker容器的目录中/ artifactory_extra_conf文件夹中。当Artifactory Docker容器启动时,它会从/ artifactory_extra_confARTIFACTORY_HOME /等(通常是/var/opt/jfrog/artifactory /等)。


文件被装入/ artifactory_extra_conf会被复制到ARTIFACTORY_HOME /等每次容器启动时,都应该避免修改容器中的文件ARTIFACTORY_HOME /等


例1:传入自定义数据库。属性文件


$ docker run——name artifactory-pro -d -v /var/opt/jfrog/artifactory:/var/opt/jfrog/artifactory -v /conf/db.properties:/artifactory_extra_conf/db. properties:/artifactory_extra_conf/db. properties-p 8081:8081 docker.bintray.io/jfrog/artifactory-pro:最新的


示例2:传入自定义binarstore .xml


$ docker run——name artifactory-pro -d -v /var/opt/jfrog/artifactory:/var/opt/jfrog/artifactory -v /conf/ binarstore .xml:/artifactory_extra_conf/ binarstore .xml -p 8081:8081 docker.bintray.io/jfrog/artifactory-pro:最新



人工NGINX Docker镜像

Artifactory Docker镜像可以与Nginx Docker镜像一起运行,该镜像可以用于管理SSL,反向代理和其他web服务器功能。详细配置请参考配置NGINX

一个自定义的Docker镜像,已经在NGINX的Artifactory中设置好了,可以在:docker.bintray.io / jfrog / nginx-artifactory-pro

码头工人组成

我们建议使用编排工具(如docker-compose)将此容器与Artifactory容器一起运行,该工具允许轻松地将两个容器联网和链接起来。看到人工docker-compose示例在JFrogartifactory-docker-examplesGitHub上的存储库。

人工NGINX Docker用户

从6.2版本开始,Artifactory Nginx Docker容器以用户身份启动和运行nginx。注意:

  • nginx用户ID为104;群组ID为107
  • 任何挂载的卷都必须是可写的nginx用户


要在本地运行映像,使用:

$ docker run——name artifactory-pro-nginx -d -p 8000:80 -p 8443:443 docker.bintray.io/jfrog/nginx-artifactory-pro:最新

这将用默认设置启动一个NGINX实例

  • NGINX监听端口80和443
  • 自签名SSL密钥和证书
  • 转发请求到主机“artifactory”

自定义配置

我们建议根据您的需求定制Artifactory NGINX容器,如下所述。

使用您自己的SSL密钥和证书

  • 将SSL密钥和证书放在主机的目录中
  • 将目录挂载到Artifactory NGINX容器中/var/opt/jfrog/nginx/ssl

    $ docker run——name artifactory-pro-nginx -d -p 8000:80 -p 8443:443 -v $HOST_SSL_PATH:/var/opt/jfrog/nginx/ssl docker.bintray.io/jfrog/nginx-artifactory-pro:最新

使用自定义人工配置文件

要自定义artifactory.confNGINX容器使用的文件,创建你自己的artifactory.conf文件并将其挂载到容器中:/var/opt/jfrog/nginx/conf.d/artifactory.conf。

为此,您应该使用SKIP_AUTO_UPDATE_CONFIG环境变量禁用配置特性的自动更新

$ docker run——name artifactory-pro-nginx -d -p 8000:80 -p 8443:443 \ -e SKIP_AUTO_UPDATE_CONFIG=true \ -v $CUSTOM_ART_CONF_FILE:/var/opt/jfrog/nginx/conf.d/artifactory.conf docker.bintray.io/jfrog/nginx-artifactory-pro:最新



使用自定义用户/组ID运行Artifactory Docker

通过传递以下参数,可以将人工Docker容器配置为使用自定义用户/组ID运行:"——user $uid:$gid"。

所挂载的主机目录必须由给定的用户id可写。

下面的示例将使Artifactory以用户ID 1234和组ID 4321的身份运行。

$ docker run——name artifactory-pro——user 1234:4321 -d -v /var/opt/jfrog/artifactory:/var/opt/jfrog/artifactory: -p 8081:8081 docker.bintray.io/jfrog/artifactory-pro:最新

升级Artifactory

有关如何升级在Docker容器中运行的Artifactory的详细信息,请参考在Docker容器中运行升级Artifactory页面。


使用不同的数据库运行Artifactory

默认情况下,Artifactory使用内置的嵌入式Derby数据库运行,但是,Artifactory支持其他数据库。要切换到其他支持的数据库之一,请参考修改数据库


从源代码构建人工OSS

Artifactory OSS Docker镜像源可供下载,允许您自己构建镜像。详情请参阅建筑人工OSS


访问Artifactory

一旦Artifactory容器启动并运行,您可以通过以下方式访问Artifactory:

http://SERVER_DOMAIN:8081/artifactory



Docker for Windows限制

在Windows上运行Docker有一个已知的限制。

以下描述了该限制JIRA问题。这里有一个可选的解决方案,但不建议用于生产部署。


故障排除码头工人

请参考主要内容故障排除页面。



观看视频



  • 没有标签