利用docker实现私有镜像仓库
利用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实现私有镜像仓库的更多相关文章
- 搭建docker registry私有镜像仓库
搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...
- 手动搭建Docker本地私有镜像仓库
实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库. 基础配置 查看一下两台虚拟机的IP地址 Server的IP地址是192.1 ...
- Docker 构建私有镜像仓库
在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便,另外有时候只是希望在内部用户之间进行分享,不希望暴露出去.这种情况下,就有必要搭建一个本地 ...
- Docker创建私有镜像仓库
Docker官方提供了一个工具docker-registry,可以借助这个工具构建私有镜像仓库: 1.拉取registry镜像 # docker pull registry//可以使用 docker ...
- docker实战——Docker本地私有镜像仓库Harbor搭建及配置
Harbor介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然docker官方提供了公共的镜像仓库(Docker Hub),但是从安全和效率等方面考虑,部署我们私有环境内的Registr ...
- docker配置私有镜像仓库-registry和hyper/docker-registry-web
1.前言️ Docker hub是远程仓库,是国外的,push pull速度特别慢,尤其是网速不好的时候,页面都点不进去,官网 但是可以配置阿里云镜像加速哦: 因此搭建一个私有的镜像仓库用于管理我们 ...
- 容器技术之Docker私有镜像仓库docker-distribution
在前边的博客中我们说到docker的架构由docker客户端.服务端以及仓库组成:docker仓库就是用来存放镜像的地方:其实docker registry我们理解为存放docker镜像仓库的仓库比较 ...
- 容器技术之Docker私有镜像仓库harbor
前文我们聊到了docker的私有镜像仓库docker-distribution的搭建和简单的使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13058338 ...
- 使用Nexus3构建Docker私有镜像仓库
一.安装Nexus3 Nexus3是Sonatype提供的仓库管理平台,Nuexus Repository OSS3能够支持Maven.npm.Docker.YUM.Helm等格式数据的存储和发布:并 ...
随机推荐
- vue中通过WeixinJSBridge关闭微信公众号当前页面,返回微信公众号首页
之前有个需求,点击菜单进入到微信公众号模块,然后点击返回的时候不知道到哪里去,后来觉得点返回的时候直接关闭页面,但是window.close()并不能关闭页面,然后经过查找资料,发现通过以下方法可以 ...
- MySQL语言分类——DDL
DDL的全称Data Definition Language,即数据定义语言 DDL的语法有:create.alter.drop.rename.truncate.对此做一个详细的解释: create ...
- eclipse安装sts
- android自定义圆角实线边框,圆角虚线边框,直实线,虚实线,半圆角边框
先上图 在现实项目开发中,单纯的Button,EditText等控件远远不能满足我们项目的UI设计需求,这时候,我们就需要自己动手丰衣足食啦.接下来先给大家介绍一些属性,备注写的都非常清楚啦,我就不啰 ...
- 网络编程(二)--TCP协议、基于tcp协议的套接字socket
一.TCP协议(Transmission Control Protocol 传输控制协议) 1.可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会 ...
- yum lockfile is held by another process
使用yum安装软件报错 yum lockfile is held by another process 解决方法 rm -f /var/run/yum.pid
- Extended Traffic LightOJ - 1074
题目链接:https://vjudge.net/problem/LightOJ-1074 思路:(busyness of destination - busyness of source)3 可能会是 ...
- python笔试题
冒泡排序的原理:每次对相邻的两个元素进行比较,若前者大于后者,这将两者的位置交换.第一轮就可以将最大的元素置于列表的最后.几轮循环 冒泡排序的前提条件:有序的列表 import unittest# 冒 ...
- 禁用wordpress模板默认样式
我们知道wordpress主题比如twentytwenty都会有样式,如果不想使用它们的默认样式怎么处理呢?其实很简单,随ytkah一起来看看吧.进入2020主题的function.php文件,里面有 ...
- telnet安装和使用教程
一.安装telnet 1.检测telnet-server的rpm包是否安装 [root@localhost ~]# rpm -qa telnet-server若无输入内容,则表示没有安装.出于安全考虑 ...