Docker如何搭建基于Token认证的的Registry服务
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章将为大家详细讲解有关Docker如何搭建基于Token认证的的Registry服务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。搭建Token认证的Regi
千家信息网最后更新 2025年02月09日Docker如何搭建基于Token认证的的Registry服务
这篇文章将为大家详细讲解有关Docker如何搭建基于Token认证的的Registry服务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
搭建Token认证的Registry服务
1. 创建目录
mkdir -p {/data/volume/{auth_server/{config,ssl},docker_registry/data}}
2. 拷贝认证文件
如果有现成的认证文件,将文件拷贝至ssl文件夹下,文件包括( server.key, server.pem )
如果没有认证文件,使用下面的指令生成临时文件
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.pem
3. 配置认证服务的配置文件
在目录(/data/volumes/auth_server/config)下创建配置文件(auth_config.yml)
server: # Server settings. # Address to listen on. addr: ":5001" # TLS certificate and key. certificate: "/ssl/server.pem" key: "/ssl/server.key"token: # Settings for the tokens. issuer: "Auth Service" # Must match issuer in the Registry config. expiration: 900# Static user map. users: # Password is specified as a BCrypt hash. Use htpasswd -B to generate. "admin": password: "$2y$05$B.x046DV3bvuwFgn0I42F.W/SbRU5fUoCbCGtjFl7S33aCUHNBxbq" "reader": password: "$2y$05$xN3hNmNlBIYpST7UzqwK/O5T1/JyXDGuJgKJzf4XuILmvX7L5ensa" "": {} # Allow anonymous (no "docker login") access.acl: # Admin has full access to everything. - match: {account: "admin"} actions: ["*"] - match: {account: "reader", name: "nginx"} actions: ["pull"]
4. 搭建registry和auth服务
采用compose模式搭建,创建compose文件(registry-auth.yml)
dockerauth: image: cesanta/docker_auth:stable container_name: docker_auth ports: - "5001:5001" volumes: - /data/volumes/auth_server/config:/config:ro - /var/log/docker_auth:/logs - /data/volumes/auth_server/ssl:/ssl command: /config/auth_config.yml restart: alwaysregistry: image: registry:2 container_name: docker_registry ports: - "5000:5000" volumes: - /data/volumes/auth_server/ssl:/ssl - /data/volumes/docker_registry/data:/var/lib/registry restart: always environment: - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry - REGISTRY_AUTH=token - REGISTRY_AUTH_TOKEN_REALM=https://registry.sky.com:5001/auth - REGISTRY_AUTH_TOKEN_SERVICE="Docker registry" - REGISTRY_AUTH_TOKEN_ISSUER="Auth Service" - REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE=/ssl/server.pem - REGISTRY_HTTP_TLS_CERTIFICATE=/ssl/server.pem - REGISTRY_HTTP_TLS_KEY=/ssl/server.key
执行指令
docker-compose -f registry-auth.yml up
5. 在线测试
找一个安装了docker的服务器
执行登录指令
docker login registry.sky.com:5000
输入用户名和密码
Username (reader): Password: Login Succeeded
根据前面的权限配置,reader用户只有pull权限,无法push操作
$ docker tag nginx registry.sky.com:5000/nginx$ docker push registry.sky.com:5000/nginxThe push refers to a repository [registry.sky.com:5000/nginx]5f70bf18a086: Preparing bbf4634aee1a: Preparing 64d0c8aee4b0: Preparing 4dcab49015d4: Preparing unauthorized: authentication required
测试成功,无法提交
重新采用admin用户登录
docker push registry.sky.com:5000/nginx The push refers to a repository [registry.sky.com:5000/nginx]5f70bf18a086: Pushed bbf4634aee1a: Pushed 64d0c8aee4b0: Pushed 4dcab49015d4: Pushed latest: digest: sha256:e2ba8f461c877d3bbe0294dcce6398b085a19117d73e0ae1d75f9b412cab8c2e size: 1978
关于"Docker如何搭建基于Token认证的的Registry服务"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
认证
服务
配置
指令
用户
篇文章
拷贝
更多
权限
目录
测试
登录
不错
实用
成功
内容
只有
在线测试
密码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
jsp数据库项目案例导航
app停止服务器
网络安全法草案公布
云服务器多屏设置
sql同时读取多条数据库
软件开发考计算机几级
大港租房网络安全
dw 数据库如何绑定命令
做软件开发需要怎么做的更好
无线网络技术是什么意思
朝阳区网络计算机软件开发要求
软件开发公司ceo的职责
嵌入式系统软件开发环节
方舟游戏私人服务器
福州东信网络技术公司
漳州卓晟互联网科技有限公司
2017软件开发培训费用
html输出数据库中的表格
幼儿网络安全主题绘画简单
有朋网络技术
局机关网络安全设备使用年限
智慧环境下的网络安全
软件开发的工作室
邮箱网络安全阵地
微信朋友圈数据库有损坏6
怎么做好一个网络安全员
护苗网络安全课新闻稿
公用网络安全隧道
黑客攻击与网络安全的关系
服务器端控件