实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库。

基础配置

查看一下两台虚拟机的IP地址

Server的IP地址是192.168.134.151.

Registry的IP地址是192.168.134.150.

使用setenforce 0临时关闭SElinux。

打开ServerRegistry的内核转发功能

编辑配置文件/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环境安装

ServerRegistry两台机器上使用yum install -y docker命令安装docker环境。



2.配置Docker配置文件

ServerRegistry上编辑/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本地私有镜像仓库的更多相关文章

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

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

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

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

  3. Docker 构建私有镜像仓库

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

  4. 利用docker实现私有镜像仓库

    利用docker实现私有镜像仓库 在linux服务器上安装了docker过后,可以拉取docker镜像仓库: docker pull registry 再执行命令让镜像run起来: docker ru ...

  5. Docker深入浅出系列 | 5分钟搭建你的私有镜像仓库

    Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方 ...

  6. Docker创建私有镜像仓库

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

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

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

  8. 利用docker搭建本地私有镜像仓库

    主机名 角色 sht-sgmhadoopcm-01 Docker Repository sht-sgmhadoopnn-01 Docker Client 1. 在两台节点分别安装docker http ...

  9. 8天入门docker系列 —— 第六天 搭建自己的私有镜像仓库Registry

    这一篇我们来聊聊私有仓库的搭建,其实不管你是通过docker build还是compose的方式进行构建,最终还是要将生成好的镜像push到远程的仓库中,这样多个 平台可以方便的获取你registry ...

随机推荐

  1. ZooKeeper系列(3):znode说明和znode状态

    ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk 1.znode znode的官方说明:http://zookee ...

  2. python列表类型

    列表类型简介 列表类型是一个容器,它里面可以存放任意数量.任意类型的数据. 例如下面的几个列表中,有存储数值的.字符串的.内嵌列表的.不仅如此,还可以存储其他任意类型. >>> L ...

  3. Go基础系列:defer、panic和recover

    defer关键字 defer关键字可以让函数或语句延迟到函数语句块的最结尾时,即即将退出函数时执行,即便函数中途报错结束.即便已经panic().即便函数已经return了,也都会执行defer所推迟 ...

  4. OOP面向对象

    一:什么是面向过程 我们是怎么思考和解决上面的问题呢? 答案是:我们自己的思维一直按照步骤来处理这个问题,这是我们的常规思维,这就是所谓的面向过程POP编程   二:面向过程POP为什么转换为OOP ...

  5. phpmyadmin创建mysql的存储过程

    通过phpmyadmin ,创建procedure, 用于生成测试数据. 随机的用户名及手机号. DELIMITER $$ CREATE PROCEDURE `sp_insert_test_users ...

  6. HTML学习感悟

    HTML是一个超文本语言,原本并不打算做网站的我发现学习信息根本离不开web前端的掌握,因此需要对HTML进行一定程度的学习.对了,它可以说是网页的一个标志,打开任何网页我们看到的都是HTML的文本, ...

  7. c# 接口的协变和逆变

    如果派生类只是用于输出值,那么这种结构化的委托有效性之间的常数关系叫做协变 就是创建一个派生类委托对象 让派生类赋值给基类对象 协变关键字out 对期望传入基类时允许传入派生对象的特性叫逆变  逆变关 ...

  8. 【学习笔记】sklearn数据集与估计器

    数据集划分 机器学习一般的数据集会划分为两个部分: 训练数据:用于训练,构建模型 测试数据:在模型检验时使用,用于评估模型是否有效 训练数据和测试数据常用的比例一般为:70%: 30%, 80%: 2 ...

  9. css 表单标签两端对齐

    来自:http://demo.doyoe.com/css3/justify/justify-form.htm  侵删 <!DOCTYPE html> <html lang=" ...

  10. es6 语法 (symbol)

    { // 声明 let a1 = Symbol(); let a2 = Symbol(); console.log(a1 === a2); //false let a3 = Symbol.for('a ...