CentOs7 docker1.9 通过SSL把镜像上传到仓库

实现在仓库主机本机上通过SSL的方式把镜像上传到本机仓库

Server端:

1.生成证书

[email protected]:~$ sudo openssl req -x509 -nodes -days 365  -subj ‘/CN=‘test.registry.com‘  -newkey rsa:4096 -keyout certs/domain.key -out certs/domain.crt #把证书生成到certs目录下,生成一个test.registry.com域名证书

2.启动容器

[email protected]:~$ docker run -d -p 5000:5000 --restart=always \ 
--name registry  -v `pwd`/certs:/certs \ 
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ 
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key -v /images/:/var/lib/registry registry:2.1.1

3.测试

[email protected]:~$ curl --cacert /etc/docker/certs.d/193.registry.com\:5000/domain.crt -XGET 
{"repositories":["registry"]}

Client端

1.把证书移动到对应目录里

[email protected]:~$ mkdir -p /etc/docker/certs.d/test.registry.com:5000/
[email protected]:~$ cp certs/domain.crt   etc/docker/certs.d/test.registry.com:5000/.

2.把要上传到仓库的镜像打个标签

[email protected]:~$ docker tag busybox  test.registry.com:5000/busybox

3.上传到仓库,无需修改配置文件

[email protected]:~$ docker  pull  test.registry.com:5000/busybox

脚本实现所有步骤

#!/bin/bash
ip_1=`ifconfig eth0  |grep inet|awk ‘{print $2}‘ |head -1|awk -F ‘:‘ ‘{print $2}‘`
ip=`ifconfig eth0  |grep inet|awk ‘{print $2}‘ |head -1|awk -F ‘:‘ ‘{print $2}‘|awk -F ‘.‘  ‘{print $4}‘`
sudo  chmod  777 /etc/hostname
sudo echo $ip.registry.com > /etc/hostname
sudo hostname  $ip.registry.com
sudo mkdir  certs
sudo openssl req -x509 -nodes -days 365  -subj ‘/CN=‘$ip‘.registry.com‘  -newkey rsa:4096 -keyout certs/domain.key -out certs/domain.crt
sudo chmod -R  777   /etc/docker
sudo mkdir -p /etc/docker/certs.d/$ip.registry.com:5000
sudo cp certs/domain.crt  /etc/docker/certs.d/$ip.registry.com:5000/.
sudo docker run -d -p 5000:5000 --restart=always  --name registry  -v `pwd`/certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key -v /images/:/var/lib/registry registry:2.1.1
sudo  chmod  777 /etc/hosts
时间: 2024-10-09 00:44:14

CentOs7 docker1.9 通过SSL把镜像上传到仓库的相关文章

openstack运维实战系列(八)之glance镜像上传

1. 前言 在openstack中,glance负责image,即镜像相关的服务,镜像是一个已经打包好的文件,内置有操作系统和预先部署好的软件.基于image创建虚拟机,在openstack中是以backing file的形式创建的,即新建的虚拟机和镜像文件之间建立一个连接,相关的内容,后续以博客的形式呈现.本文以最简单的镜像上传为例,演示在openstack中制作完镜像之后,如何上传到openstack云环境中. 2. 通过glance操作 获取镜像,查看镜像信息 [[email protec

极简容器化交付 | 0命令行完成镜像上传

虽然docker.kubernetes的命令集并非十分复杂,后台操作也比较快捷,但是对于大多数徘徊在容器化门口的企业和个人用户来说,仍旧是一块心病,docker or not docker, that's a question,SWR服务通过提供界面化的操作,屏蔽原生命令行,简化用户操作和技术门槛,为企业和个人用户提供极简的容器化交付平台,我们接下来会通过一系列的文章,向大家介绍SWR的这些功能特性. 今天要为大家介绍的是用户0命令行,通过WEB界面实现镜像的上传及实现原理剖析. 我们从这个最为

自定义镜像上传阿里云

alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗. 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息 3.Alpine Docker镜像继承了Alpine Lin

alpine制作jdk、jre镜像、自定义镜像上传阿里云

alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗. 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息 3.Alpine Docker镜像继承了Alpine Lin

如何将自己的镜像上传到docker hub上面

1.首先需要拥有自己的Docker hub账号 2.使用Docker hub账号在验证本地登录#docker login输入用户名和密码 3.先docker images看看本地的镜像 #docker images 如果REPOITORY的名不是你Docker hub账号和仓库,即Docker ID/仓库名,是上传不成功的 使用docker tag 镜像ID 用户名称/镜像源名 :新的标签名(tag) 来更改 #docker tag 861661772e3e liuxianhuacn/nginx

docker自定义镜像上传阿里云

1.alpine制作jdk镜像 2.Alpine制作jre镜像(瘦身) 3.Docker镜像上传至阿里云 alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗. 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpineli

docker 外部镜像 上传到本地仓库

下载外部镜像,多个节点服务器需要安装的时候再到外网下载,虽然加了加速器,修改镜像源为国内的,但是下载速度还是挺慢. 于是想我们已经安装了镜像仓库,为什么不直接将外部下载的镜像信息上传到本地仓库呢.这样只需要下载一次,然后任何需要使用的机器到本地的仓库下载安装即可. 这里我安装ELK中的L,也就是logstash,需要在每个节点服务器都安装,而这个文件就有800多M,再次下载就比较慢.于是..这样做了. 这里我的镜像仓库harbor安装在192.168.89.132上. 上传镜像的格式为 dock

java~gradle构建公用包并上传到仓库~使用私有仓库的包

在新的项目里使用仓库的包 上一讲中我们说了java~gradle构建公用包并上传到仓库,如何发布公用的非自启动类的包到私有仓库,而这一讲我们将学习如何使用这些包,就像我们使用spring框架里的功能包一样. 参考:http://www.zhyea.com/2018/04/24/gradle-repository-username-password.html?spm=a2c40.rdc_maven_repo.0.0.12fd3054jv5EgP 公司私有的maven仓库在访问时是需要用户名密码的.

docker 镜像 上传到docker hub

需要按照如下步骤处理: 我一直没有第三步,一直没有成功,直到尝试了一次docker tag ,上传docker hub就没有出现问题了. step1--找到本地镜像的ID:docker images step2--登陆Hub:docker login --username=username --password=password --email=email step3--tag:docker tag <imageID> <namespace>/<image name>: