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

Registry的IP地址是192.168.134.150.

使用setenforce 0临时关闭SElinux。
打开Server和Registry的内核转发功能
编辑配置文件/etc/sysctl.conf,添加下面的内容:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0

修改完成后使用sysctl –p命令生效。

Docker配置
1.Docker环境安装
在Server和Registry两台机器上使用yum install -y docker命令安装docker环境。


2.配置Docker配置文件
在Server和Registry上编辑/etc/sysconfig/docker文件添加如下两行:
ADD_REGISTRY='--add-registry 192.168.134.150:5000'
INSECURE_REGISTRY='--insecure-registry 192.168.134.150:5000'
这里是将docker image的获取地址改为从本地私有Registry获取。

使用systemctl restart docker命令重启一下docker。
3.设置Docker服务
设置docker开机自启
systemctl enable docker

4.配置镜像仓库
先把等会要用到的两个镜像的tar包放到/root目录下。

接着手动加载镜像,加载registry镜像并使用再将他上传至私有镜像仓库,因为registry容器要用于其他容器的注册,所以先将他启动。搭建私有镜像仓库必须要先将registry容器启动。
使用的命令如下:
docker load < registry_latest.tar //加载镜像
docker images //查看刚刚加载的镜像的ID
docker run -d -p 5000:5000 --restart=always --name registry registry:latest //启动registry容器
docker tag 镜像ID registry:latest //给registry镜像打上新tag(可以省去此步)
docker push registry:latest //将registry镜像上传至私有镜像仓库(可以省去此步)

这时使用docker images查看一下本地镜像。

可以看到下面一个就是我刚刚重新打tag的镜像。
现在上传一个owncloud镜像。

这里可以看到上传完之后的镜像是没有tag的,所以我们给他打上tag,就可以看出来了。

接着将他上传至私有镜像仓库。
全部命令如下:
docker load < owncloud.tar //加载镜像
docker images //查看刚刚加载的镜像的ID
docker tag 镜像ID owncloud:latest //给owncloud镜像打上tag
docker push owncloud:latest //将owncloud镜像上传至私有镜像仓库
我这里私有镜像仓库的默认位置在/var/lib/docker/volumes/022dbe58afaec96083a1ceb3fb6672c7a62be38a5a48158322d75d2e6b1150c3/_data/docker/registry/v2/repositories/下。
查看一下

这里可以看到我上传至私有镜像仓库的镜像文件。
验证
验证一下私有镜像是否搭建成功
到server上拉取owncloud镜像试一下。

这里可以看到他是从192.168.134.150 Registry镜像仓库拉取的镜像。
到此实验成功!
手动搭建Docker本地私有镜像仓库的更多相关文章
- 搭建docker registry私有镜像仓库
搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...
- docker实战——Docker本地私有镜像仓库Harbor搭建及配置
Harbor介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然docker官方提供了公共的镜像仓库(Docker Hub),但是从安全和效率等方面考虑,部署我们私有环境内的Registr ...
- Docker 构建私有镜像仓库
在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便,另外有时候只是希望在内部用户之间进行分享,不希望暴露出去.这种情况下,就有必要搭建一个本地 ...
- 利用docker实现私有镜像仓库
利用docker实现私有镜像仓库 在linux服务器上安装了docker过后,可以拉取docker镜像仓库: docker pull registry 再执行命令让镜像run起来: docker ru ...
- Docker深入浅出系列 | 5分钟搭建你的私有镜像仓库
Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方 ...
- Docker创建私有镜像仓库
Docker官方提供了一个工具docker-registry,可以借助这个工具构建私有镜像仓库: 1.拉取registry镜像 # docker pull registry//可以使用 docker ...
- docker配置私有镜像仓库-registry和hyper/docker-registry-web
1.前言️ Docker hub是远程仓库,是国外的,push pull速度特别慢,尤其是网速不好的时候,页面都点不进去,官网 但是可以配置阿里云镜像加速哦: 因此搭建一个私有的镜像仓库用于管理我们 ...
- 利用docker搭建本地私有镜像仓库
主机名 角色 sht-sgmhadoopcm-01 Docker Repository sht-sgmhadoopnn-01 Docker Client 1. 在两台节点分别安装docker http ...
- 8天入门docker系列 —— 第六天 搭建自己的私有镜像仓库Registry
这一篇我们来聊聊私有仓库的搭建,其实不管你是通过docker build还是compose的方式进行构建,最终还是要将生成好的镜像push到远程的仓库中,这样多个 平台可以方便的获取你registry ...
随机推荐
- ZOOKEEPER典型应用场景解析
zookeeper实现了主动通知节点变化,原子创建节点,临时节点,按序创建节点等功能.通过以上功能的组合,zookeeper能够在分布式系统中组合出很多上层功能.下面就看几个常用到的场景,及使用方式和 ...
- 条件随机场conditional random field
主要翻译自http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields/,原作者是MIT的大神,加入了一些我自己的 ...
- [转]angular 监听窗口滚动
本文转自:https://blog.csdn.net/ittvibe/article/details/80060801 转自:http://brianflove.com/2016/10/10/angu ...
- HttpClient之可恨的Expect(C# http 请求卡住的解决办法)
今天用HTTP.HttpClient这个对象开发的时候遇到一个奇怪的问题 当POST一个页面的时候始终卡住提交不成功 最初以为协议有错误就抓包测试在抓包在测试 最后想到是不是HttpClient的BU ...
- Android Studio 活动启动模式
启动模式一共分4种 可以再配置文件中设置 <activity android:name=".MainActivity" android:launchMode="si ...
- json接口返回值
SpringBoot响应客户端渲染数据 1.SpringBoot构造并且返回一个json对象 首先,我们在父包下新建一个pojo的包,并新建一个User类 IDEA自动生成对应的get/set,然后 ...
- 我是这样搞懂一个神奇的BUG
摘要: 通过分析用户的行为,才想得到为什么会出现这种情况! 前两天在BearyChat收到这样的一个报警消息: 409 ?Conflict ? 平时很少遇到这样的错误,貌似很严重的样子,吓得我赶紧查看 ...
- K8S 容器的资源需求、资源限制
容器的资源需求,资源限制 requests:需求,最低保障: limits:限制,硬限制: CPU: 1 颗逻辑 CPU 1=1000,millicores 500m=0.5CPU QoS: Gura ...
- 微信小程序-查询快递
1.新建快速启动项目 2.在设置里面勾选不校验合法域名,以防编译报错 3.在app.json中改一下窗口表现:app.json—"navigationBarTitleText": ...
- SuperMap-iServer过滤请求返回值
目的: iServer发布的arcgis地图服务中,由于tileinfo参数为null,导致用arcgis-ios客户端开发的APP闪退.通过过滤器将get请求的返回值修改 代码: package c ...