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
应用程序部署。
多格式工件支持: 除了容器镜像,支持 Maven
、npm
、PyPI
、Go
等多种包格式,方便统一管理。
权限控制: 提供精细的访问控制,确保只有授权用户和团队能访问特定资源。
与 CI/CD
集成: 与 Jenkins
、GitHub Actions
、GitLab CI
等 CI/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.0
或 1.2.3
)
4.4 推送镜像
使用以下命令将镜像推送到 Docker Hub
:
docker push <your-dockerhub-username>/<repository-name>:<tag>
示例:
docker push johnsmith/my-nginx:latest