一、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,一个喜欢健身的程序员。
获取更多干货以及最新消息,请关注公众号:上古伪神
如果对您有帮助,点个关注就是对我最大的支持!!!
构建Docker私有仓库的更多相关文章
-
Ubuntu构建Docker私有仓库(Repository) 配置过程笔记
一.准备: 1.服务器(或者虚拟机2台,我的服务环境[ 阿里云服务器-Ubuntu 1804 +百度云-Ubuntu 1604]) 2.有效镜像(我这里以上一篇随笔镜像作为有效镜像https://w ...
-
构建docker私有仓库+k8s-pod应用
环境版本系统:centos7.4docker-compose version 1.26.2docker-py version: 4.3.0CPython version: 2.7.5docker-ve ...
-
搭建docker私有仓库
保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...
-
docker私有仓库-https+nginx
一.概述 使用的是registry-2.4版本,因为在这个版本开始提供了garbage-collect,能够清理掉blobs,2.1开始提供了api的删除功能,但是只是删除的index并没有释放掉磁盘 ...
-
03搭建docker私有仓库
搭建docker私仓,可以使用docker官方提供的registry镜像.该镜像目前有2.0,2.3和2.3.1版本.它只与1.6.0以上版本的docker兼容.搭建私仓的步骤如下: 一:无代理.无认 ...
-
Docker容器化【Dockerfile编写&;&;搭建与使用Docker私有仓库】
# Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...
-
CentOS7搭建Docker私有仓库----Docker
有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.目前Docker Registry已经升级到了v2 ...
-
Docker私有仓库与Harbor部署使用
Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...
-
一步步搭建docker私有仓库并从私有仓库中下载镜像
一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...
随机推荐
-
Activity之概览屏幕(Overview Screen)
概览屏幕 概览屏幕(也称为最新动态屏幕.最近任务列表或最近使用的应用)是一个系统级别 UI,其中列出了最近访问过的 Activity 和任务. 用户可以浏览该列表并选择要恢复的任务,也可以通过滑动清除 ...
-
OAF_开发系列17_实现OAF数组应用Vector / Hashmap / Hashtable / Arraylist(案例)
20150506 Created By BaoXinjian
-
weblogic启动失败:Could not obtain the localhost address 解决办法
linux下weblogic启动如果出现这个错误,多半是hosts文件不对 1.先输入hostname,查看本机计算机名(比如:server123) 2.sudo vi /etc/hosts 编辑ho ...
-
菜单栏展开和收起效果(纯js)
2014年6月25日 15:36:29 需要关注的是: 1.用cookie保存用户当前点击的菜单项,不打扰后端代码 2.通过数学计算得到要显示和隐藏的div 3.点击事件是动态绑定到a标签上的,因此当 ...
-
hdu----(1402)A * B Problem Plus(FFT模板)
A * B Problem Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
-
js中ajax如何解决跨域请求
js中ajax如何解决跨域请求,在讲这个问题之前先解释几个名词 1.跨域请求 所有的浏览器都是同源策略,这个策略能保证页面脚本资源和cookie安全 ,浏览器隔离了来自不同源的请求,防上跨域不安全的操 ...
-
编程之美之数独求解器的C++实现方法
编程之美的第一章的第15节.讲的是构造数独.一開始拿到这个问题的确没有思路, 只是看了书中的介绍之后, 发现原来这个的求解思路和N皇后问题是一致的. 可是不知道为啥,反正一開始确实没有想到这个回溯法. ...
-
Java学习之道:Java操作Excel之导出下载
页面放置一个button进行点击导出事件 <h:commandLink target="_parent" value="导出" ac ...
-
Python3NumPy——数组(1)之创建
开篇 numpy库作为科学计算的基础库,其地位相当重要,它是对数组操作的基石.它的存在使得线性代数以及矩阵论等相关知识在计算机上的表达更加方便与简单,集中体现出了人想办法,计算机去工作. Python ...
-
JAVA面向对象-----接口的特点
接口的特点 1.类实现接口可以通过implements实现,实现接口的时候必须把接口中的所有方法实现,一个类可以实现多个接口. 2.接口中定义的所有的属性默认是public static final的 ...