使用最新版本?
JFrog平台用户指南
JFrog Artifactoryx文档
要获得最新版本,请访问JFrog统一平台
Docker上的Artifactory
将Artifactory作为容器运行是简单而直接的,包括以下基本步骤:
由于在Docker容器中运行的Artifactory实例是可变的,一旦容器被移除,所有的数据和配置文件都将丢失。如果希望数据持久(例如升级到新版本时),还应该执行下一步。
拉出Artifactory Docker映像
Artifactory Docker镜像可以通过执行以下相应的Docker命令从Bintray中提取,具体取决于您是提取Artifactory OSS还是Artifactory Pro:
Docker pull Docker .bintray.io/jfrog/artifactory-pro:latest
或
Docker pull Docker .bintray.io/jfrog/artifactory-oss:最新的
或
Docker pull Docker .bintray.io/jfrog/artifactory- cppp -ce
运行一个Artifactory容器
方法列出已下载的Docker映像码头工人的图片命令,该命令应该显示如下输出:
$ docker images存储库标签镜像ID创建大小docker.bintray。io/jfrog/artifactory-pro latest da70b82904e7 2 days ago 861.5 MB…
要启动一个Artifactory容器,根据你运行的是Artifactory Pro还是Artifactory OSS,使用下面相应的命令:
$ docker run——name artifactory -d -p 8081:8081 docker.bintray.io/jfrog/artifactory-pro:最新版本
或
$ docker run——name artifactory -d -p 8081:8081 docker.bintray.io/jfrog/artifactory-oss:最新版本
或
$ docker run——name artifactory -d -p 8081:8081 docker.bintray.io/jfrog/artifactory- cppp -ce:最新版本
设置Java内存参数
要控制Artifactory使用的内存,可以传递环境变量EXTRA_JAVA_OPTIONS。
例如:
$ docker run——name artifactory -d -p 8081:8081 -e EXTRA_JAVA_OPTIONS='-Xms512m -Xmx2g -Xss256k -XX:+UseG1GC' docker.bintray.io/jfrog/artifactory-pro:latest
支持的环境变量
Artifactory 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 |
设置自定义Access maxThreads。 | 50 |
SERVER_XML_ARTIFACTORY_EXTRA_CONFIG |
添加一个额外的Artifactory连接器配置。 | |
SERVER_XML_ACCESS_EXTRA_CONFIG |
添加额外的访问连接器配置 | |
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-node中的Id '参数。属性文件。 | 节点——美元(主机名) |
HA_HOST_IP |
容器的IP地址。此变量用于组成完整的上下文。url,仅当$HA_CONTEXT_URL变量未设置时。通过运行“hostname -i”确定。 | $(主机名我) |
HA_CONTEXT_URL |
context的值。Url '参数在生成的ha-node。属性文件。这是向集群成员公开的节点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 |
' artificial .ha.data. data '的值。ha-node中的Dir '参数。属性文件。 | /var/opt/jfrog/artifactory /数据 |
HA_BACKUP_DIR |
' artificial .ha.backup. backup '的值。ha-node中的Dir '参数。属性文件。 | /var/opt/jfrog/artifactory /备份 |
管理数据持久性
“artifactory”用户
以前,Artifactory Docker容器以用户身份启动根
,但由用户运行artifactory
.从版本6.2开始,用户artifactory
用于启动和运行Docker容器。注意:
- 的
artifactory
用户默认ID为1030 - 的
artifactory
用户必须对挂载在Artifactory容器上的任何持久存储具有写权限
为了在移除Artifactory Docker容器后保留数据和配置,您需要将它们存储在挂载到Docker容器的外部卷上。有两种方法:
- 使用主机目录
- 使用名为Volume的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用于配置和数据。
使用名为Volume的Docker
在本例中,您创建了一个名为volume的docker并将其传递给容器。默认情况下,命名卷是目录下的本地目录/var/lib/docker/volumes/ <名称>
,但可以设置为与其他位置一起工作。更多细节,请参考Docker文档码头工人卷.
下面的例子创建了一个名为volume的Dockerartifactory_data并将其安装到下面的Artifactory容器/var/opt/jfrog/artifactory:
$ docker volume create——name artifactory5_data $ docker run——name artifactory5_data:/var/opt/jfrog/artifactory -p 8081:8081 docker.bintray.io/jfrog/artifactory-pro:最新版本
在这种情况下,即使容器停止并删除,卷仍然存在,并且可以使用上述方法将其附加到新的正在运行的容器码头工人运行
命令。
额外配置目录
你可以挂载额外的配置文件,如binarystore.xml
,artifactory.lic
或db.properties
,即需要您的Artifactory安装。
为此,您需要将主机上的文件或目录挂载到Artifactory Docker容器中/ artifactory_extra_conf
文件夹中。当Artifactory Docker容器启动时,它将从/ artifactory_extra_conf
来ARTIFACTORY_HOME /等
(通常是/var/opt/jfrog/artifactory /等
).
/ artifactory_extra_conf
会复制过来吗ARTIFACTORY_HOME /等
每次容器启动时,都应该避免修改容器中的文件ARTIFACTORY_HOME /等
.$ docker run——name artifactory_pro -d -v /var/opt/jfrog/artifactory:/var/opt/jfrog/artifactory -v /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:最新版本
Artifactory NGINX Docker镜像
Artifactory Docker镜像可以与Nginx Docker镜像一起运行,Nginx Docker镜像可用于管理SSL、反向代理和其他web服务器功能。具体配置请参见配置NGINX.
一个自定义Docker镜像,已经为Artifactory设置了NGINX,可在:'docker.bintray.io / jfrog / nginx-artifactory-pro`
码头工人组成
我们建议使用编配工具(如docker-compose)将该容器与Artifactory容器一起运行,这样可以方便地将两个容器联网和链接。看到Artifactory docker-compose示例在JFrogartifactory-docker-examplesGitHub上的存储库。
Artifactory 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:latest .io
这将启动一个默认设置的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. bintrray .io/jfrog/nginx-artifactory-pro:最新的
使用自定义Artifactory配置文件
要自定义artifactory.conf
NGINX容器使用的文件,创建你自己的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:latest
使用自定义用户/组ID运行Artifactory Docker
通过传递以下参数,Artifactory 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支持其他数据库。若要切换到其他受支持的数据库,请参阅修改数据库.
从源代码构建Artifactory OSS
Artifactory OSS Docker映像源可供下载,允许您自己构建映像。详情请参阅构建Artifactory OSS.
访问Artifactory
一旦Artifactory容器启动并运行,你就可以通过浏览到下面的链接来访问Artifactory:
http://SERVER_DOMAIN:8081/artifactory
针对Windows限制的Docker
在Windows上运行Docker有一个已知的限制。
限制说明如下JIRA问题.这里有一个可选的解决方案,但不建议用于生产部署。
故障排除码头工人
请参考主要内容故障排除页面。