官网地址:Artifactory - Universal Artifact Repository Manager - JFrog
1,镜像拉取并执行
docker run --name artifactory-pro --restart always -v /root/jfrog/var/:/var -d -p 28081:8081 -p 28082:8082 releases-docker.jfrog.io/jfrog/artifactory-pro:6.6.0
过程非常慢,耐心等待...
2,下载破解文件
软件工具/data/artifactory/artifactory-injector-1.1.jar · 李文超/chenjimblog - Gitee.com
移动文件至挂载目录 /root/jfrog/var/
3,进入容器
docker exec -it artifactory-pro /bin/bash
4,执行破解流程
java -jar artifactory-injector-1.1.jar
What do you want to do? 1 - generate License String 2 - inject artifactory exit - exit 【2】 where is artifactory home? ("back" for back) 【/opt/jfrog/artifactory】 artifactory detected. continue? (yes/no) 【yes】 putting another WEB-INF/lib/artifactory-addons-manager-6.6.0.jar META-INF/ org/ org/jfrog/
5,生成授权License,选择1,记录生成的license,然后exit退出
What do you want to do? 1 - generate License String 2 - inject artifactory exit - exit 【1】 eyJhcnRpZmFjdG9yeSI6eyJ......ydGllcyI6e319fQ==
6,重启容器
docker restart artifactory-pro
7,nginx 配置
###########################################################
## this configuration was generated by JFrog Artifactory ##
###########################################################
## add ssl entries when https has been set in config
ssl_certificate /usr/local/services/nginx-1.18/conf/ssl/jfrog.xxxx.cn.pem;
ssl_certificate_key /usr/local/services/nginx-1.18/conf/ssl/jfrog.xxxx.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
## server configuration
server {
listen 443 ssl;
listen 80 ;
server_name ~(?<repo>.+)\.jfrog.xxxx.cn jfrog.xxxx.cn;
if ($http_x_forwarded_proto = '') {
set $http_x_forwarded_proto $scheme;
}
## Application specific logs
access_log /mnt/xvdb/logs/nginx/jfrog-access.log json;
error_log /mnt/xvdb/logs/nginx/jfrog-error.log;
rewrite ^/$ /webapp/ redirect;
rewrite ^//?(/webapp)?$ /webapp/ redirect;
rewrite ^/(v1|v2)/(.*) /api/docker/$repo/$1/$2;
chunked_transfer_encoding on;
client_max_body_size 0;
location / {
proxy_read_timeout 900;
proxy_pass_header Server;
proxy_cookie_path ~*^/.* /;
#需要注意的是使用docker仓库选择子域的时候需要去掉
#由于用于确保 NGINX 不解码某些字符的机制,子域方法存在一个已知问题 ( RTFACT-13862
#https://www.jfrog.com/jira/browse/RTFACT-13862)。这
#种机制会阻止 Docker 调用正确地发送到上游。您可以通过删除以下三行轻松解决此问题
if ( $request_uri ~ ^/(.*)$ ) {
proxy_pass http://172.22.191.94:28081/artifactory/$1;
}
proxy_pass http://172.22.191.94:28081/artifactory/;
proxy_set_header X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host:$server_port;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
8,进入设置新的密码 默认账号密码 admin/password