构建Docker私有仓库
一、Docker私有仓库
上一篇说了如何利用Dockerfile在已有镜像的基础上构建自己的镜像,那么如果需要让镜像在一个团队中使用,就需要一个仓库,有几种方式可以共享私有镜像。
1、将镜像上传至Docker Hub中
2、利用第三方Docker Harbor
3、创建私有镜像仓库
第一种方式需要在Docker Hub中注册一个账号,然后在本地登陆账号进行上传,但这种方式不安全,因为谁都可以共享你的镜像。不推荐。
第二种方式需要下载Docker Harbor安装,其是用于存储和分发Docker镜像的企业级Registry服务器,需要Docker compose支持。还有对用户友好的界面化操作,推荐此方式。
第三种是Docker提供了一个Registry镜像,名为docker-distribution。咱今儿来部署这种简单的。
二、利用docker-distribution构建私有仓库
1、执行安装命令
yum install docker-registry
2、安装完之后使用如下命令查看
rpm -ql docker-distribution
/etc/docker-distribution/registry/config.yml:配置文件
/var/lib/registry:本地仓库
/usr/bin/registry:主程序
/usr/lib/systemd/system/docker-distribution.service:启动程序
3、启动私有仓库
systemctl start docker-distribution.service
其默认监听5000端口,使用ss -tnl查看linux上端口监听情况
4、推送镜像到私有仓库
(1)使用docker tag命令对镜像重新打标签
docker tag my_nginx:latest cnode-1:5000/nginx:v1.1
cnode-1:5000为仓库所在地址和ip,ngixn为顶层仓库,如果不加tag,则推全部名为nginx的镜像。
(2)推送镜像
docker push cnode-1:5000/nginx:v1.1
5、如果出现推送失败
是因为docker默认只支持https的协议,不支持http协议,此时需要在docker配置文件/etc/docker/daemon.json将私有仓库地址标记为非安全的registry
vim /etc/docker/daemon.json {
"registry-mirrors": ["https://kewfdyw2.mirror.aliyuncs.com"],
"insecure-registries": ["cnode-1:5000"]
}
更改配置文件之后需要重启docker。
再次进行推送,情况如下图:
表明已经推送成功。
6、查看仓库
需要去目录/var/lig/registry中查看,如下图:
7、在其他机器上拉取镜像
需要在docker配置文件/etc/docker/daemon.json中将私有仓库添加为非安全的。
例如我在cnode-2中需要拉取镜像
(1)首先配置/etc/docker/daemon.json,配置之后需要重启才会生效
{
"registry-mirrors": ["https://kewfdyw2.mirror.aliyuncs.com"],
"insecure-registries": ["cnode-1:5000"]
}
(2)然后使用命令拉取镜像
docker pull cnode-1:5000/nginx:v1.1
===============================
我是Liusy,一个喜欢健身的程序员。
获取更多干货以及最新消息,请关注公众号:上古伪神
如果对您有帮助,点个关注就是对我最大的支持!!!
最新文章
- JavaScript实现DDoS攻击原理,以及保护措施。
- thinkphp5命名规范
- mysql 随机字符的产生方法
- 如何处理alert、confirm、prompt对话框
- ACM中常用的C/C++函数
- os8 location authorization 错误.
- VC++中的头文件包含问题
- [Android学习笔记]设置Activity方向
- shell 命名管道,进程间通信
- ehcache-----在spring和hibernate下管理ehcache和query cache
- spring持久类po或者javabean为什么常常实现序列化?
- jquery $.fn $.fx是什么意思有什么用
- [多线程] 生产者消费者模型的BOOST实现
- Python 2.7的字典实现简化版(C语言)
- java validate date
- Linux内核分析— —操作系统是如何工作的(20135213林涵锦)
- 这本小书的目的是引导你进入 React 和 Webpack 的世界。他们两个都是非常有用的技术,如果同时使用他们,前端开发会更加有趣。
- python 实现图的深度优先和广度优先搜索
- Java定时器Timer的使用详解
- iOS隐藏状态栏
热门文章
- Spring3文件上传,提速你的Web开发
- k8s command &; args
- NodeRED - 全局变量的使用笔记
- Windows下使用poetry和pyproject.toml
- Spring(IOC、AOP和事务)
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number
- poj3757 Training little cats
- C++实现邻接表
- C# TCP应用编程一 概述
- MySQL——时间、字符串、时间戳相互转换