搭建Docker私有仓库--自签名方式

时间:2022-08-30 12:05:53

  为了能集中管理我们创建好的镜像,方便部署服务,我们会创建私有的Docker仓库。通读了一遍官方文档,Docker为了确保安全使用TLS,需要CA认证,认证时间长的要钱啊,免费过期时间太短,还是用自签名比较简单。

准备环境

环境:两台Centos 7 虚拟机

  》服务器IP:10.57.220.244  ,作为Docker仓库使用

  》客户端IP:10.57.220.220  ,作为客户端来上传或拉取镜像

  》域名:lpxxn.com

  两台机器上均已安装好Docker 版本为 17.03.0-ce

搭建Docker私有仓库--自签名方式

  如果你和我一样没有用真域名,只需要在客户机上修改一下hosts文件

搭建Docker私有仓库--自签名方式

生成自签名证书

  在服务器主机上生成自签名证书,创建一个文件夹用于存放证书  

mkdir -p certs

  搭建Docker私有仓库--自签名方式

  生成证书

openssl req -newkey rsa: -nodes -sha256 -keyout certs/lpxxn.com.key -x509 -days  -out certs/lpxxn.com.crt

  需要注意的是在填写的时候Common Name和你的域名是一至的。

搭建Docker私有仓库--自签名方式

  

   ll certs文件夹就可以看到生成好的两个文件

搭建Docker私有仓库--自签名方式

  运行仓库镜像,如果本地没有相应的镜像会从Docker服务器上下载,然后才启动,可以用docker ps命令查看是否已经有窗口在运行。

docker run -d -p : --restart=always --name registry_https -v `pwd`/certs:/home/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/home/certs/lpxxn.com.crt -e REGISTRY_HTTP_TLS_KEY=/home/certs/lpxxn.com.key registry:

搭建Docker私有仓库--自签名方式

  你也可以指定本机的目录保存上传好的docker镜像

  

docker run -d -p :  -v `pwd`/dockerregister:/var/lib/registry  --restart=always --name registry_https -v `pwd`/certs:/home/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/home/certs/lpxxn.com.crt -e REGISTRY_HTTP_TLS_KEY=/home/certs/lpxxn.com.key registry:

  到这里服务器就启动好了,最后一步是把生成好的lpxxn.com.crt复制到客户端,你可以用自己的方式复制, 我用的scp先复制到/home/test目录下,再复制到/etc/pki/ca-trust/source/anchors目录下  

scp -r lpxxn.com.crt li@10.57.220.220:/home/test

搭建Docker私有仓库--自签名方式

配置客户端

  把服务器端生成的的lpxxn.com.crt复制到客户端服务器的  /etc/pki/ca-trust/source/anchors目录下,ll查看 一下

搭建Docker私有仓库--自签名方式

  更新证书,然后重新启动docker 。

update-ca-trust
service docker stop && service docker start

搭建Docker私有仓库--自签名方式

  ok.使用curl查看一下仓库

curl https://lpxxn.com:5000/v2/_catalog

搭建Docker私有仓库--自签名方式

  可以正常访问了。再使用docker命令上传下载试试

  使用docker tag 标记本地的镜像centos:6为 lpxxn.com:5000/centos6:1.0

搭建Docker私有仓库--自签名方式

push到仓库

  执行push 命令  

docker push lpxxn.com:/centos6:1.0

搭建Docker私有仓库--自签名方式

查看仓库信息

  使用curl 查看仓库有哪些镜像和版本

curl https://lpxxn.com:5000/v2/_catalog

curl https://lpxxn.com:5000/v2/centos6/tags/list

搭建Docker私有仓库--自签名方式

从仓库拉取镜像

  先把本地的镜像删除

docker rmi lpxxn.com:/centos6:1.0

docker rmi centos:

  拉取然后run

docker pull lpxxn.com:/centos6:1.0

搭建Docker私有仓库--自签名方式

搭建Docker私有仓库--自签名方式的更多相关文章

  1. Docker私有仓库--自签名方式

    为了能集中管理我们创建好的镜像,方便部署服务,我们会创建私有的Docker仓库.通读了一遍官方文档,Docker为了确保安全使用TLS,需要CA认证,认证时间长的要钱啊,免费过期时间太短,还是用自签名 ...

  2. 搭建docker私有仓库

    保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...

  3. 一步步搭建docker私有仓库并从私有仓库中下载镜像

    一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...

  4. windows 环境下搭建docker私有仓库

    windows 环境下搭建docker私有仓库 1.在公用仓库中pull仓库镜像 docker pull regitry 2.启动仓库镜像 //-d意思是后台运行,-p是做端口映射,这里是将本地的50 ...

  5. 03搭建docker私有仓库

    搭建docker私仓,可以使用docker官方提供的registry镜像.该镜像目前有2.0,2.3和2.3.1版本.它只与1.6.0以上版本的docker兼容.搭建私仓的步骤如下: 一:无代理.无认 ...

  6. 搭建docker私有仓库(https)

    1.修改openssl.cnf,支持IP地址方式,HTTPS访问在Redhat7或者Centos系统中,文件所在位置是/etc/pki/tls/openssl.cnf.在其中的[ v3_ca]部分,添 ...

  7. Docker自学纪实(六)搭建docker私有仓库

    docker的镜像仓库分两种:一种是从官方公有仓库拉取:还有就是自己搭建私有仓库.官方的镜像仓库是面对整个应用市场的:私有仓库一般用于公司内部,就是公司项目自身所需的镜像.搭建私有仓库有什么好处?私有 ...

  8. CentOS7搭建Docker私有仓库----Docker

    有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.目前Docker Registry已经升级到了v2 ...

  9. 搭建docker私有仓库,建立k8s集群

    服务器IP角色分布 192.168.5.2 etcd server 192.168.5.2 kubernetes master 192.168.5.3 kubernetes node 192.168. ...

随机推荐

  1. 【codevs】1082 线段树练习 3 <区间修改+区间和>

    题目连接   http://codevs.cn/problem/1082/ Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. In ...

  2. [原创]使用benchmarksql和pgbench对PostgreSQL Plus Advanced Server进行性能测试

    一.测试环境 benchmarksql version:4.0.8 rhel 6.3 vmware esxi 二.理解benchmarksql性能测试原理TPC-C 1.理解TPC-C TPC-C模拟 ...

  3. ios coreData使用

    ios中的coredata的使用(转) 分类: ios2013-07-15 18:12 27288人阅读 评论(1) 收藏 举报 Core Data数据持久化是对SQLite的一个升级,它是ios集成 ...

  4. CSS3实现图片鼠标悬浮放大效果

    .excerpt .focus a img{ -webkit-transition: all ease .3s; transition: all ease .3s }.excerpt .focus a ...

  5. Java基础——字符串构建器

    StringBuilder类: 可以将许多小段的字符串构建一个字符串. StringBuilder builder = new StringBuilder(); //构造一个空的字符串构建器 buil ...

  6. 九、 Spring Boot 拦截器

    过滤器属于Servlet范畴的API,与spring 没什么关系. Web开发中,我们除了使用 Filter 来过滤请web求外,还可以使用Spring提供的HandlerInterceptor(拦截 ...

  7. Spring定义事物通知tx:advice

    <aop:config proxy-target-class="false">    <aop:advisor advice-ref="txAdvice ...

  8. ORACLE实际执行计划与预估执行计划不一致性能优化案例

      在一台ORACLE服务器上做巡检时,使用下面SQL找出DISK_READ最高的TOP SQL分析时,分析过程中,有一条SQL语句的一些反常现象,让人觉得很奇怪: SELECT SQL_ID,    ...

  9. Hadoop数据类型

    hadoop包装了java的基本数据类型使他们实现以上的接口而且给予实现细节,这些类都实现了WritableComparable接口,能够在不同的hadoop节点之间毫无障碍的传输了.

  10. Vue项目页面跳转时候的,浏览器窗口上方的进度条显示

    1.安装: cnpm install --save nprogress 2.在main.js中引入: import NProgress from 'nprogress' import 'nprogre ...