内网部署支持ssl的docker registry

首先需要使用域名或主机名制作证书,自签证书在内网可以使用,因为内网可排除信任问题,自签证书流程可以参考使用自签的证书配置nginx的https

证书制作完成我们开始部署registry,当前registry v2版已经发布,所以我们使用v2版部署测试,部署之前需要运行docker daemon

1、将制作好的证书copy到/etc/docker/certs.d/${domain}/ca.crt中,注意目录中的domain是registry的域名或主机名,同时也是制作证书时的输入的Common name。

#] cp web1.crt /etc/docker/certs.d/web1\:5000/ca.crt

然后重启docker daemon

2、拉取官方registry镜像

#] docker pull registry:2  ## docker pull registry:latest

3、运行registry容器:

#] docker run -d -p 5000:5000 --restart=always --name registry \

-v /root/ssl:/certs \

-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/web1.crt \

-e REGISTRY_HTTP_TLS_KEY=/certs/web1.key \

registry:2

注意:参数 -v /root/ssl是证书所在目录

4、测试将镜像push到仓库中

将待push到仓库中的镜像打标签

#] docker tag registry:2 web1:5000/registry

push镜像

push完之后,可以在本地使用docker pull web1:5000/registry

5、在另外一台机器上pull镜像,首先需要将证书copy到这台机器的/etc/docker/certs.d/web1:5000/目录下

并重名为ca.crt,然后重启docker daemon

执行docker pull web1:5000/registry命令:

拉取成功,registry部署完成。

碰到的问题:在push和pull的时候出现x509:certificate signed by unknown authority,如下图:

主要原因是没有将证书copy到/etc/docker/certs.d/web1:5000目录下,并需要将证书重命名为ca.crt.

当然还得确保自签证书没问题。

时间: 08-09

内网部署支持ssl的docker registry的相关文章

LNMP内网部署wiki

需求:内部人员经常到查阅资料,考虑在内网搭建wiki站点. 实验拓扑: 实验环境: Nginx,PHP:192.168.198.160 MySQL:10.0.0.8 软件包: HDWiki-v5.1UTF8-20141205.zip nginx-1.8.0.tar.gz xcache-3.2.0.tar.gz mysql-5.5.46-linux2.6-x86_64.tar.gz php-5.3.27.tar.bz2 1.安装Nginx 1.1准备 ntpdate 202.120.2.101 y

非节点主机通过内网远程管理docker swarm集群

这是今天使用 docker swarm 遇到的一个问题,终于在睡觉前解决了,在这篇随笔中记录一下. 在 docker swarm 集群的 manager 节点上用 docker cli 命令可以正常管理集群.但是在另外一台不是集群节点的主机上,虽然设置了DOCKER_HOST环境变量 export DOCKER_HOST="tcp://manger节点内网IP:2377" 但连接不上 # docker ps Cannot connect to the Docker daemon at

部署内网Docker Registry

目前docker 已经分为社区版 (docker CE)和 商业版(docker EE),最新的版本由原来的1.13直接跳到了17.06,目前由于17.06的刚刚发布,在使用Docker 的时候可以根据自己的需求选择相应的版本. Docker 安装 先移除其他非官方的版本: yum -y remove docker docker-common container-selinux yum -y remove docker-selinux 添加yum源,这里选择1.13的版本: yum instal

在centos下部署docker内网私服

Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已经部署好的镜像registry.官方文档中也给出了建议,直接运行sudo docker run -p 5000:5000 registry命令.这样确实能启动一个registry服务器,但是所有上传的镜像其实都是由docker容器管理,放在了/var/lib/docker/....某个目录下.而且一旦删除容

用harbor实现docker registry用于kolla部署openstack

一,     准备docker环境 (一)docker 版本介绍 随着Docker的不断流行与发展,docker公司(或称为组织)也开启了商业化之路,Docker 从        17.03版本之后分为 CE(CommunityEdition)和 EE(EnterpriseEdition). 主要区别:Docker EE由公司支持,可在经过认证的操作系统和云提供商中使用,并可运行来自Docker Store        的.经过认证的容器和插件:Docker CE是免费的Docker产品的新

SUSE Portus + Docker Registry在Rancher环境下的部署实战

在正文之前,我们先来看一下,如果没有容器,通常会如何部署 Docker Registry?关于这个问题,我简单画了一个草图: 下面简单解释一下: Nginx:用来做 Docker Registry 的代理和软件负载均衡Keepalived 采用主备加虚拟 IP 的方式,解决 Nginx 的单点问题,保证 Nginx 服务的高可用性. Docker Registry:这是 Docker 官方开源的私有镜像仓库项目,对应 github 上的 docker-distribution 项目,也是私有镜像

centos6 Docker桥接到主机所在的内网

测试环境: windows7台式机:   ip:10.0.1.6/16  网关:10.0.0.254/16 上网正常. vmware虚拟机一台:  centos6.6_64mini eth0 ip:10.0.1.21/16  网关:10.0.0.254/16 用到软件包: pipework iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm 下载地址: https://yunpan.cn/crp5XAESHHh3d  访问密码 57e8 一.CentOS6.

Ceph 时钟偏移问题 clock skew detected 解决方案--- 部署内网NTP服务

告警:HEALTH_WARN clock skew detected on mon.ip-10-25-195-6; 8 requests are blocked > 32 sec; Monitor clock skew detected 原因: MON可能被MON节点之间的重要的时钟偏移激烈的影响.这经常会转变为没有明显原因的诡异的行为.为了避免这种问题,你应该在MON节点上运行一个时间同步的工具. 默认最大容忍的时钟偏移为0.05s,不建议修改这个官方开发推荐值.私自未经测试修改虽然无数据丢失

ubuntu docker方式部署docker registry v2

生成自己签名的证书 生成签名的过程需要根据提示输入一些参数,需要注意的时Common Name的时候需要输入一个自己需要的域名,如果时内部域名记得访问的时候需要修改hosts. mkdir /data/certs -pcd /data/certsopenssl req -newkey rsa:4096 -nodes -sha256 \-keyout domain.key -x509 -days 365 -out domain.crt 运行docker registry images docker