实验环境:两个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镜像仓库拉取的镜像。

到此实验成功!

最新文章

  1. IOS Core Animation Advanced Techniques的学习笔记(四)
  2. hibernate中many-to-one关联时出现ObjectNotFoundException异常
  3. BizTalk开发系列(三十二)浅谈BizTalk主机性能优化
  4. iOS开发:集成支付宝(遇见的坑和便捷撸代码)
  5. 用pdo实现的织梦后台留言板
  6. 《Cocos2d-x实战 C++卷》上线了-源码-样章-感谢大家的支持
  7. 原创 Reflector 8.1 反激活
  8. MySQL字符串函数
  9. iOS开发- 获取精确剩余电量
  10. vue.js基础知识篇(7):表单校验详解
  11. 绕过校园网WEB认证_dns2tcp实现
  12. [jdoj1090]矩阵_区间dp
  13. [CSDN_Markdown] 使用LaTeX写矩阵
  14. Angular Taskmgr 登录
  15. Bugku 杂项 啊哒
  16. JEECG SSO kisso
  17. Android开发之动态添加控件
  18. thinphp中volist嵌套循环时变量$i 被污染问题,key=&quot;k&quot;
  19. 如何使用CodeSmith批量生成代码(原创系列教程)
  20. sublime text 显示 typescript高亮

热门文章

  1. iOS高效裁剪图片圆角算法
  2. c# 怎么读取web.config中的配置项
  3. Linux服务器评测脚本 中文IO脚本简单易懂
  4. 【Tomcat】Tomcat相关设计模式分析
  5. linux 单引号,双引号,反引号
  6. 协程与Epoll的配合
  7. idea护眼色设置
  8. php对二维数据排序
  9. 2018-12-16 VS Code英汉词典进化效果演示: 翻译文件所有命名
  10. NDK中使用pthread多线程中自己写的一个BUG