利用docker实现私有镜像仓库

在linux服务器上安装了docker过后,可以拉取docker镜像仓库:

  

docker pull registry

再执行命令让镜像run起来:

 docker run -d -p : -v /opt/data/registry:/tmp/registry registry

通过docker ps能够看到正在运行的容器:

当jenkins执行pipeline或者jenkinsfile的时候,会执行 docker push生成的应用程序镜      像到这个私有仓库。所以要在jenkins的服务器推送镜像时:

  推送到自己的私有镜像仓库中:

docker push 192.168.50.178:/tomcat

  当然,报错了,我们来看看是什么错:

  Get https://192.168.50.178:5000/v2/: http: server gave HTTP response to HTTPS client

  因为提交镜像仓库的时候,docker默认是按照https来的,但是我们这里是http,所以可以通过配置修改信任:

  在你的推送docker服务器和docker私有镜像仓库的服务器都要同时修改配置文件:

vim /etc/docker/daemon.json

  添加如下代码行:

  

  再次重启docker服务,这一次就可以推送成功了。

  

  如果想拉取这个镜像,可以执行如下命令行:

  

  其实,这里比较痛苦的是删除镜像,由于出于安全考虑,这里默认是没法删除镜像的,我们只能利用其它的方式删除:利用delete_docker_registry_image删除,下面是配置过程:

  

curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/delete_docker_registry_image.py | sudo tee /usr/local/bin/delete_docker_registry_image >/dev/null
sudo chmod a+x /usr/local/bin/delete_docker_registry_image
 

  再配置环境变量:

    找到registry的如下目录:

    

  配置镜像仓库:

export      REGISTRY_DATA_DIR=/var/lib/docker/volumes/9f99d08ed9abf43a9204a1d9cda556fc5dc6baeb9d82b0de88684e513d516bcb/_data/docker/registry/v2

  

  配置完过后,再次执行删除命令:

/usr/local/bin/delete_docker_registry_image -i tomcat

  查看是否删除了:

curl -XGET http://192.168.50.178:5000/v2/_catalog

  如果说你执行 /usr/local/bin/delete_docker_registry_image报错,说找不到python,那么可能是你用的是python3,改为python2就好了

当然,这个是自己搭建的私有镜像仓库,不是很好用,大家可以用一些开源的docker镜像仓库,还有ui界面,显示更加友好一点,比如说:Harbor.大家可以去用一用,很好用的。

利用docker实现私有镜像仓库的更多相关文章

  1. 搭建docker registry私有镜像仓库

    搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...

  2. 手动搭建Docker本地私有镜像仓库

    实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库. 基础配置 查看一下两台虚拟机的IP地址 Server的IP地址是192.1 ...

  3. Docker 构建私有镜像仓库

    在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便,另外有时候只是希望在内部用户之间进行分享,不希望暴露出去.这种情况下,就有必要搭建一个本地 ...

  4. Docker创建私有镜像仓库

    Docker官方提供了一个工具docker-registry,可以借助这个工具构建私有镜像仓库: 1.拉取registry镜像 # docker pull registry//可以使用 docker ...

  5. docker实战——Docker本地私有镜像仓库Harbor搭建及配置

    Harbor介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然docker官方提供了公共的镜像仓库(Docker Hub),但是从安全和效率等方面考虑,部署我们私有环境内的Registr ...

  6. docker配置私有镜像仓库-registry和hyper/docker-registry-web

    1.前言️​ Docker hub是远程仓库,是国外的,push pull速度特别慢,尤其是网速不好的时候,页面都点不进去,官网 但是可以配置阿里云镜像加速哦: 因此搭建一个私有的镜像仓库用于管理我们 ...

  7. 容器技术之Docker私有镜像仓库docker-distribution

    在前边的博客中我们说到docker的架构由docker客户端.服务端以及仓库组成:docker仓库就是用来存放镜像的地方:其实docker registry我们理解为存放docker镜像仓库的仓库比较 ...

  8. 容器技术之Docker私有镜像仓库harbor

    前文我们聊到了docker的私有镜像仓库docker-distribution的搭建和简单的使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13058338 ...

  9. 使用Nexus3构建Docker私有镜像仓库

    一.安装Nexus3 Nexus3是Sonatype提供的仓库管理平台,Nuexus Repository OSS3能够支持Maven.npm.Docker.YUM.Helm等格式数据的存储和发布:并 ...

随机推荐

  1. 我是如何一步步编码完成万仓网ERP系统的(七)产品库设计 3.品牌图片跨域上传

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  2. 第13章 C#中的多线程

    章多线程 13.1 线程概述 计算机的操作系统多采用多任务和分时设计.多任务是指在一个操作系统中开以同时运行多个程序.例如,可以在使用QQ聊天的同时听音乐,即有多个独立的任务,每个任务对应一个进程,每 ...

  3. Golang fmt Printf 格式化参数手册/详解/说明

    fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. 格式“占位符”衍生自C,但比C更简单. fmt 包的官方文档对Printing和Scanning有很详细的说明.这里就直接 ...

  4. .net Redis分布式锁,Dictionary,ConcurrentDictionary 介绍

    1.背景 在计算机世界里,对于锁大家并不陌生,在现代所有的语言中几乎都提供了语言级别锁的实现,为什么我们的程序有时候会这么依赖锁呢?这个问题还是要从计算机的发展说起,随着计算机硬件的不断升级,多核cp ...

  5. SpringMVC-拦截器做一个登录认证的小Demo

    拦截器 拦截器的定义 处理器拦截器类似于servlet开发中的filter,用于对处理器进行预处理和后处理. 定义拦截器,实现HandlerInterceptor这个接口 接口的实现需要导入包impo ...

  6. vue 的 Class 与 Style 绑定

    操作元素的 class 列表和内联样式是数据绑定的一个常见需求.因为它们都是属性,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可.不过,字符串拼接麻烦且易错.因此,在将 ...

  7. vue-cli的安装及版本查看更新

    vue-cli安装 npm install vue-cli -g vue-cli的版本查看 vue -V vue-cli的3.0+以后使用的不是vue-cli了,如果用以上的安装命令安装的并不是最新版 ...

  8. linux线程回收

    int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), v ...

  9. flink Iterate迭代基本概念

    基本概念:在流中创建“反馈(feedback)”循环,通过将一个算子的输出重定向到某个先前的算子.这对于定义不断更新模型的算法特别有用. 迭代的数据流向:DataStream → IterativeS ...

  10. React源码 memo Fragment StrictMode cloneElement createFactory

    1.memo react 16.6 推出的 api ,他的用意是给 function component 也有 PureComponent 这样一个类似的功能,因为我们知道 PureComponent ...