跳到主要内容

JFrog Container Registry(JCR) Hub

2024年12月06日
柏拉文
越努力,越幸运

一、认识


JFrog Container Registry 是由 JFrog 提供的企业级容器镜像和包管理解决方案,是一种功能丰富的容器注册表服务。它支持 Docker 容器镜像和 Helm Chart,并且是一个多用途的包管理工具,涵盖了多种格式和工件。

它可以作为一个独立的注册表使用,或者作为 JFrog Artifactory 的子集,帮助开发团队高效地存储、管理和分发容器镜像和其他工件。

1.1 功能

容器镜像管理: 支持 Docker 镜像、OCI 镜像的存储和分发。与标准 Docker CLI 工具完全兼容。

Helm Chart 支持: 可直接托管和管理 Helm Chart,用于 Kubernetes 应用程序部署。

多格式工件支持: 除了容器镜像,支持 MavennpmPyPIGo 等多种包格式,方便统一管理。

权限控制: 提供精细的访问控制,确保只有授权用户和团队能访问特定资源。

CI/CD 集成: 与 JenkinsGitHub ActionsGitLab CICI/CD 工具无缝集成,实现自动化构建、推送和部署。

二、安装


2.1 Docker

# 1. 拉取镜像
docker pull docker.bintray.io/jfrog/artifactory-jcr

# 2. 运行容器
docker run --name jfrog-container-registry -d -p 8081:8081 -p 8082:8082 \
docker.bintray.io/jfrog/artifactory-jcr:latest

docker run --name jfrog-container-registry -d -p 8081:8081 -p 8082:8082 -v ~/docker/artifactory/data:/var/opt/jfrog/artifactory docker.bintray.io/jfrog/artifactory-jcr:latest

2.2 Kubernetes

helm repo add jfrog https://charts.jfrog.io
helm repo update
helm install jfrog-container-registry jfrog/artifactory-jcr

三、配置


JFrog Container Registry 安装完成之后,执行以下操作

1. 登录到 JFrog 用户界面(默认端口 8081

2. 创建一个新的 Docker 注册表

3. 配置访问地址和权限

四、JCR Hub


4.1 登录

登录到注册表

docker login <jfrog-registry-url>

输入用户名和密码完成认证。

4.2 构建镜像

确保已经构建好需要发布的镜像。例如,假设有一个基于 Nginx 的镜

docker build -t my-nginx .

4.3 创建标签

Docker Hub 中的镜像名称必须包含您的 Docker Hub 用户名。例如:

docker tag my-nginx <your-dockerhub-username>/my-nginx:latest

示例(假设用户名为 johnsmith):

docker tag my-nginx johnsmith/my-nginx:latest

latest 是标签名,可以更改为其他版本号(如 v1.01.2.3

4.4 推送镜像

使用以下命令将镜像推送到 Docker Hub:

docker push <your-dockerhub-username>/<repository-name>:<tag>

示例:

docker push johnsmith/my-nginx:latest