搭建Docker私有仓库--自签名方式
为了能集中管理我们创建好的镜像,方便部署服务,我们会创建私有的Docker仓库。通读了一遍官方文档,Docker为了确保安全使用TLS,需要CA认证,认证时间长的要钱啊,免费过期时间太短,还是用自签名比较简单。
准备环境
环境:两台Centos 7 虚拟机
》服务器IP:10.57.220.244 ,作为Docker仓库使用
》客户端IP:10.57.220.220 ,作为客户端来上传或拉取镜像
》域名:lpxxn.com
两台机器上均已安装好Docker 版本为 17.03.0-ce
如果你和我一样没有用真域名,只需要在客户机上修改一下hosts文件
生成自签名证书
在服务器主机上生成自签名证书,创建一个文件夹用于存放证书
mkdir -p certs
生成证书
openssl req -newkey rsa: -nodes -sha256 -keyout certs/lpxxn.com.key -x509 -days -out certs/lpxxn.com.crt
需要注意的是在填写的时候Common Name和你的域名是一至的。
ll certs文件夹就可以看到生成好的两个文件
运行仓库镜像,如果本地没有相应的镜像会从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 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
配置客户端
把服务器端生成的的lpxxn.com.crt复制到客户端服务器的 /etc/pki/ca-trust/source/anchors目录下,ll查看 一下
更新证书,然后重新启动docker 。
update-ca-trust
service docker stop && service docker start
ok.使用curl查看一下仓库
curl https://lpxxn.com:5000/v2/_catalog
可以正常访问了。再使用docker命令上传下载试试
使用docker tag 标记本地的镜像centos:6为 lpxxn.com:5000/centos6:1.0
push到仓库
执行push 命令
docker push lpxxn.com:/centos6:1.0
查看仓库信息
使用curl 查看仓库有哪些镜像和版本
curl https://lpxxn.com:5000/v2/_catalog curl https://lpxxn.com:5000/v2/centos6/tags/list
从仓库拉取镜像
先把本地的镜像删除
docker rmi lpxxn.com:/centos6:1.0 docker rmi centos:
拉取然后run
docker pull lpxxn.com:/centos6:1.0
搭建Docker私有仓库--自签名方式的更多相关文章
- Docker私有仓库--自签名方式
为了能集中管理我们创建好的镜像,方便部署服务,我们会创建私有的Docker仓库.通读了一遍官方文档,Docker为了确保安全使用TLS,需要CA认证,认证时间长的要钱啊,免费过期时间太短,还是用自签名 ...
- 搭建docker私有仓库
保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...
- 一步步搭建docker私有仓库并从私有仓库中下载镜像
一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...
- windows 环境下搭建docker私有仓库
windows 环境下搭建docker私有仓库 1.在公用仓库中pull仓库镜像 docker pull regitry 2.启动仓库镜像 //-d意思是后台运行,-p是做端口映射,这里是将本地的50 ...
- 03搭建docker私有仓库
搭建docker私仓,可以使用docker官方提供的registry镜像.该镜像目前有2.0,2.3和2.3.1版本.它只与1.6.0以上版本的docker兼容.搭建私仓的步骤如下: 一:无代理.无认 ...
- 搭建docker私有仓库(https)
1.修改openssl.cnf,支持IP地址方式,HTTPS访问在Redhat7或者Centos系统中,文件所在位置是/etc/pki/tls/openssl.cnf.在其中的[ v3_ca]部分,添 ...
- Docker自学纪实(六)搭建docker私有仓库
docker的镜像仓库分两种:一种是从官方公有仓库拉取:还有就是自己搭建私有仓库.官方的镜像仓库是面对整个应用市场的:私有仓库一般用于公司内部,就是公司项目自身所需的镜像.搭建私有仓库有什么好处?私有 ...
- CentOS7搭建Docker私有仓库----Docker
有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.目前Docker Registry已经升级到了v2 ...
- 搭建docker私有仓库,建立k8s集群
服务器IP角色分布 192.168.5.2 etcd server 192.168.5.2 kubernetes master 192.168.5.3 kubernetes node 192.168. ...
随机推荐
- MAPI错误0x80040107
MAPI错误0x80040107 的解决方案: The MAPI error means there's an "invalid entry" within the contac ...
- (八十七)AutoLayout的简单介绍与实例
AutoLayout是继AutoResizing之后的一种自己主动布局方法.攻克了AutoResizing无法处理控件间相互关系的问题. AutoLayout在storyboard中通过底部工具条设置 ...
- Multiply Strings leetcode java
题目: Given two numbers represented as strings, return multiplication of the numbers as a string. Note ...
- jquery.cookie 使用方法
一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. ...
- 关于UITableView的黑线条
这里採用分组形式.底色可用图片覆盖,设置为cell(是一个view)的子视图,并把cell'的颜色设置为底色 当UITableView的cell没有满屏显示时,就会出现黑线条.我们仅仅需在初始化时,加 ...
- 【ElasticSearch】ElasticSearch-SQL插件
ElasticSearch-SQL插件 image2017-10-27_11-10-53.png (1067×738) elastic SQL_百度搜索 Druid SQL 解析器的解析过程 - be ...
- Java try-catch-finally 返回值
1.只有 try-catch 的情况下,如果不发生异常,则会返回 try 中的 return ; 如果发生异常,则会返回 catch 中的 return, try 中的 return 被盖掉; ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十八):kafka0.10.1 内置性能测试API用法示例
消费者测试: ./kafka-consumer-perf-test..com.cn:,vm10..com.cn:,vm10..com.cn: --group test-teg1 --messages ...
- JAVA 中不错的开源FTP组件:commons-net
第一步:引入jar到pom.xml. <!-- https://mvnrepository.com/artifact/commons-net/commons-net --> <dep ...
- SpringBoot 启动错误搜集
Spring Boot:The Bean Validation API is on the classpath but no implementation could be found https:/ ...