Docker-Registry-Web 使用教程
1. 项目介绍
Docker-Registry-Web 是一个为 Docker 私有仓库 v2 提供的 Web UI、认证服务和事件记录的开源项目。它支持浏览仓库中的仓库、标签和镜像,并提供了可选的基于令牌的认证提供程序,支持基于角色的权限控制。此外,它还能够记录 Docker 仓库的通知和审计信息。
2. 项目快速启动
快速启动步骤
以下是一个不使用认证的快速启动步骤:
-
启动 Docker Registry 服务容器:
docker run -d -p 5000:5000 --name registry-srv registry:2
-
启动 Docker-Registry-Web 服务容器:
docker run -it -p 8080:8080 --name registry-web --link registry-srv -e REGISTRY_URL=http://registry-srv:5000/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web
启动完成后,Web UI 将可通过 http://localhost:8080
访问。
带基本认证和自签名证书的启动步骤
-
创建认证所需的私钥和证书:
mkdir conf openssl req -new -newkey rsa:4096 -days 365 -subj "/CN=localhost" -nodes -x509 -keyout conf/auth.key -out conf/auth.cert
-
配置 Docker Registry:
-
创建
conf/registry-srv.yml
文件,并添加以下内容:version: 0.1 storage: filesystem: rootdirectory: /var/lib/registry http: addr: 0.0.0.0:5000 auth: token: realm: http://localhost:8080/api/auth service: localhost:5000 issuer: 'my issuer' rootcertbundle: /etc/docker/registry/auth.cert
-
启动 Docker Registry:
docker run -v $(pwd)/conf/registry-srv.yml:/etc/docker/registry/config.yml:ro -v $(pwd)/conf/auth.cert:/etc/docker/registry/auth.cert:ro -p 5000:5000 --name registry-srv -d registry:2
-
-
配置 Docker-Registry-Web:
-
创建
conf/registry-web.yml
文件,并添加以下内容:registry: url: http://registry-srv:5000/v2 name: localhost:5000 readonly: false auth: enabled: true issuer: 'my issuer' key: /conf/auth.key
-
启动 Docker-Registry-Web:
docker run -v $(pwd)/conf/registry-web.yml:/conf/config.yml:ro -v $(pwd)/conf/auth.key:/conf/auth.key -v $(pwd)/db:/data -it -p 8080:8080 --link registry-srv --name registry-web hyper/docker-registry-web
-
启动完成后,Web UI 将可通过 http://localhost:8080
访问,默认的管理员用户名和密码为 admin/admin
。
3. 应用案例和最佳实践
在实际使用中,Docker-Registry-Web 可以应用于以下场景:
- 内部镜像仓库管理:企业内部使用 Docker-Registry-Web 管理团队共享的 Docker 镜像,便于镜像的浏览、推送和拉取。
- 权限控制:通过配置角色和权限,控制不同用户对镜像的操作权限,确保安全性。
最佳实践:
- 在生产环境中,应使用配置文件而非环境变量来配置应用,以避免敏感信息泄露。
- 定期更新项目的依赖和组件,确保安全性。
4. 典型生态项目
Docker-Registry-Web 是 Docker 生态中的一个重要组成部分,以下是与 Docker-Registry-Web 相关的一些典型生态项目:
- Docker:容器化技术的基础,用于创建和运行容器。
- Docker Compose:用于定义和运行多容器 Docker 应用程序。
- Docker Swarm:Docker 的集群管理工具,用于容器编排。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考