博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker 构建 https 私有仓库 Registry
阅读量:7049 次
发布时间:2019-06-28

本文共 2059 字,大约阅读时间需要 6 分钟。

1.安装docker

# docker install docker

2.拉取仓库镜像

# docker pull registry

3.生成认证certificate

# mkdir ~/certs# openssl req -newkey rsa:4096 -nodes -sha256 -keyout /root/certs/domain.key  -x509 -days 365 -out /root/certs/domain.crt

4.复制认证到docker

# mkdir /etc/docker/certs.d/mydockerhub.com:5000# cp /root/certs/domain.crt  /etc/docker/certs.d/mydockerhub.com\:5000/ca.crt

5.复制认证到本机

# cat /root/certs/domain.crt >> /etc/pki/tls/certs/ca-bundle.crt

7.启动仓库镜像

# docker run -d -p 5000:5000 --privileged=true -v /root/docker/registry:/var/lib/registry -v /root/certs/:/root/certs  -e REGISTRY_HTTP_TLS_CERTIFICATE=/root/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/root/certs/domain.key registry

8.创建一个镜像

docker run -it --name=nginx centos /bin/bashyum install epel-release.noarch -yyum install nginx -ydocker commit 7ab4d6b6a438 dingyingsi/nginx  //7ab4d6b6a438为容器id docker tag dingyingsi/nginx mydockerhub.com:5000/nginx:latest //给当前镜像打标签

9.修改当前主机名:

vi /etc/hosts192.168.184.166 mydockerhub.com

10.推送镜像到https私有仓库

docker push mydockerhub.com:5000/nginx

11.删除本地镜像并重新从https私有仓库拉取镜像

docker rmi mydockerhub.com:5000/nginxdocker pull mydockerhub.com:5000/nginx

 12.添加http basic authentication

docker run --entrypoint htpasswd  registry:2 -Bbn testuser testpassword > /root/auth/htpasswd

13.停止仓库

docker stop  2a4c76559e18docker start 2a4c76559e18

14.启动http basic authentication仓库

docker run -d \--name registry \-p 5000:5000 \--restart=always \--privileged=true \-v /root/docker/registry:/var/lib/registry \-e "REGISTRY_AUTH=htpasswd" \-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \-v /root/auth:/root/auth \-e "REGISTRY_AUTH_HTPASSWD_PATH=/root/auth/htpasswd" \-v /root/certs/:/root/certs \-e REGISTRY_HTTP_TLS_CERTIFICATE=/root/certs/domain.crt \-e REGISTRY_HTTP_TLS_KEY=/root/certs/domain.key \registry

 

15.登录仓库

docker login mydockerhub.com:5000username:testuserpassword:testpassword

16.其他服务器用这个私有仓库,直接复制docker的仓库服务器下的/etc/docker/cert.d/下的mydockerhub.com:5000/ca.cert目录和文件,到自己的/etc/docker/cert.d/目录下即可。

参考文档:https://docs.docker.com/registry/deploying/#running-a-domain-registry

转载地址:http://ocpol.baihongyu.com/

你可能感兴趣的文章
利用RIS在网络中实现批量操作系统的安装
查看>>
进程之进程间的8种通信方式
查看>>
史上最全的CSS hack方式一览
查看>>
第三天 入口文件index.php 01
查看>>
构建富互联网应用程序监控工作流和流程(6)
查看>>
动态编译php的gd库
查看>>
开源 .net license tool, EasyLicense !
查看>>
Openssl及加密解密(一)数据加密解密及CA原理
查看>>
impala集成sentry
查看>>
关于更换fc adaper的几个小问题
查看>>
vim vi IMPROVED
查看>>
spark基本操作 java 版
查看>>
centos lamp配置详解
查看>>
超级简单的配置虚拟机网络yum源
查看>>
single-task message and cursor pin S on X
查看>>
Python基础教程笔记——条件,循环和其他语句
查看>>
02 oracle 创建用户和授权
查看>>
***实用函数:PHP explode()函数用法、切分字符串,作用,将字符串打散成数组
查看>>
JQuery属性与样式——.html()和.text()
查看>>
can't exec "mysql_config":no such file or directory at Makefile.PL line 76
查看>>