使用身份验证创建私有Docker注册表

詹姆斯·斯特威

所以我试图通过身份验证运行自己的docker注册表,以便可以从外部访问它。为此,我使用来自docker hub的docker注册表映像,如下所示:

docker run -p 5000:5000 -d -v /opt/registry:/tmp/registry registry:0.8.1

然后,我使用HAProxy将其链接到URLreg.mydomain.com并添加身份验证:

userlist auth_list
    group registry users root
    user root password [password]

backend docker-registry
    mode http
    server localhost:5000_localhost localhost:5000 cookie localhost:5000_localhost

frontend web
    mode http
    bind *:80
    bind *:443 ssl crt /path/to/ssl.pem
    acl domain hdr(host) -i reg.mydomain.com
    acl auth_docker_registry http_auth_group(auth_list) registry
    acl registry_ping url_sub _ping
    http-request auth realm Registry if !auth_docker_registry domain !registry_ping
    use_backend docker-registry if domain

运行该命令后,我将使用以下命令登录:

root@mydomain:~# docker login https://reg.mydomain.com
Username: root
Password:
Email:
Login Succeeded

问题是,当我运行命令以推入或拉出注册表时,出现以下错误:

root@mydomain:~# docker pull reg.mydomain.com/project1
The push refers to a repository [reg.mydomain.com/project1] (len: 1)
Sending image list
Pushing repository reg.mydomain.com/project1 (1 tags)
511136ea3c5a: Pushing
2014/11/24 20:40:33 HTTP code 401, Docker will not send auth headers over HTTP.

root@mydomain:~# docker pull reg.mydomain.com/project1
Pulling repository reg.mydomain.com/project1
2014/11/24 20:40:38 Could not reach any registry endpoint

我对问题的猜测是,HTTPS连接在HAProxy处终止,而连接的其余部分(在HAProxy和Docker Registry容器之间)是HTTP,但是身份验证标头仍然存在,导致推送错误。为了对此进行测试,我将reqidel ^AuthorizationHAProxy配置的后端部分添加至无效。

还值得注意的是,我可以在Web浏览器中导航https://reg.mydomain.com和子目录/v1/_ping,并且它们都按预期工作(我必须登录等)。另外,在撰写本文时,我使用的是Docker注册表版本,0.8.1而不是0.9因为0.9映像无法启动。

如果需要任何其他信息,请告诉我。

谢谢,JamesStewy

詹姆斯·斯特威

好的,事实证明仅告诉docker使用HTTPS是不够的,您必须强制使用。为此redirect scheme https if !{ ssl_fc } domain,我在前端添加了将HTTP流量重定向到HTTPS的操作,这阻止了上述错误的发生。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用身份验证创建私有Docker注册表

来自分类Dev

AWS ECS优化的AMI中的私有Docker注册表身份验证不成功

来自分类Dev

从本地私有 docker 注册表创建 Singularity 容器

来自分类Dev

使用Docker API推送到私有注册表

来自分类Dev

使用Docker API从私有注册表中提取

来自分类Dev

使用Docker API推送到私有注册表

来自分类Dev

使用Github软件包注册表而不进行身份验证

来自分类Dev

从 Azure Kubernetes 服务使用 Azure 容器注册表进行身份验证时的问题

来自分类Dev

使用Docker私有注册表的Kubernetes中没有ssl的Docker拉镜像

来自分类Dev

从私有注册表中提取图像时,docker swarm 创建服务失败

来自分类Dev

带有镜像的Docker私有注册表

来自分类Dev

docker docker注册表(私有安装)使用https(tls / ssl)

来自分类Dev

docker docker注册表(私有安装)使用https(tls / ssl)

来自分类Dev

用户身份验证的注册表项?

来自分类Dev

Docker推动私有注册表问题

来自分类Dev

docker提交数据容器到私有注册表

来自分类Dev

私有Docker注册表的访问控制

来自分类Dev

Docker私有注册表| TLS证书发行

来自分类Dev

Docker私有注册表和默认安装程序

来自分类Dev

Docker私有注册表| TLS证书发行

来自分类Dev

Kubernetes - 从私有 docker 注册表中提取错误

来自分类Dev

私有 docker 注册表的设置通知

来自分类Dev

如何使用Amazon ECS从Tutum私有注册表中提取Docker映像?

来自分类Dev

使用凭据将映像推送到私有Docker注册表

来自分类Dev

Docker:使用私有层而不运行注册表实例

来自分类Dev

从github npm注册表安装软件包-身份验证错误401

来自分类Dev

Azure容器-无法登录到私有注册表“从docker注册表收到错误响应”

来自分类Dev

Docker:注册表:无法从其他人的私有注册表中提取

来自分类Dev

十月CMS身份验证/注册表格

Related 相关文章

  1. 1

    使用身份验证创建私有Docker注册表

  2. 2

    AWS ECS优化的AMI中的私有Docker注册表身份验证不成功

  3. 3

    从本地私有 docker 注册表创建 Singularity 容器

  4. 4

    使用Docker API推送到私有注册表

  5. 5

    使用Docker API从私有注册表中提取

  6. 6

    使用Docker API推送到私有注册表

  7. 7

    使用Github软件包注册表而不进行身份验证

  8. 8

    从 Azure Kubernetes 服务使用 Azure 容器注册表进行身份验证时的问题

  9. 9

    使用Docker私有注册表的Kubernetes中没有ssl的Docker拉镜像

  10. 10

    从私有注册表中提取图像时,docker swarm 创建服务失败

  11. 11

    带有镜像的Docker私有注册表

  12. 12

    docker docker注册表(私有安装)使用https(tls / ssl)

  13. 13

    docker docker注册表(私有安装)使用https(tls / ssl)

  14. 14

    用户身份验证的注册表项?

  15. 15

    Docker推动私有注册表问题

  16. 16

    docker提交数据容器到私有注册表

  17. 17

    私有Docker注册表的访问控制

  18. 18

    Docker私有注册表| TLS证书发行

  19. 19

    Docker私有注册表和默认安装程序

  20. 20

    Docker私有注册表| TLS证书发行

  21. 21

    Kubernetes - 从私有 docker 注册表中提取错误

  22. 22

    私有 docker 注册表的设置通知

  23. 23

    如何使用Amazon ECS从Tutum私有注册表中提取Docker映像?

  24. 24

    使用凭据将映像推送到私有Docker注册表

  25. 25

    Docker:使用私有层而不运行注册表实例

  26. 26

    从github npm注册表安装软件包-身份验证错误401

  27. 27

    Azure容器-无法登录到私有注册表“从docker注册表收到错误响应”

  28. 28

    Docker:注册表:无法从其他人的私有注册表中提取

  29. 29

    十月CMS身份验证/注册表格

热门标签

归档