使用最新版本?
JFrog平台用户指南
JFrog Artifactoryx文档
要获取最新版本,请访问JFrog统一平台
Docker上的Artifactory
将Artifactory作为容器运行是简单而直接的,它包括以下基本步骤:
由于在Docker容器中运行的Artifactory实例是可变的,一旦容器被移除,所有的数据和配置文件都会丢失。如果希望数据持久化(例如在升级到新版本时),还应该执行下一步操作。
提取人工Docker镜像
Artifactory Docker镜像可以通过执行以下相应的Docker命令从Bintray中提取,具体取决于您是提取Artifactory OSS还是Artifactory Pro:
Docker .bintray.io/jfrog/artifactory-pro:最新版本
或
Docker .bintray.io/jfrog/artifactory-oss
或
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使用下面相应的命令:
$ 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-cpp-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:最新
支持的环境变量
人工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.xml
,artifactory.lic
或db.properties
,那就是您的人工安装所需的。
为此,您需要将主机上的文件或目录挂载到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:/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.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:最新
使用自定义用户/组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问题。这里有一个可选的解决方案,但不建议用于生产部署。
故障排除码头工人
请参考主要内容故障排除页面。