docker 私有仓库简易搭建
概要
docker hub 使用非常方便,而且上面有大量的镜像可以使用。 但是,每次都远程下载镜像速度非常慢,如果能在本地做一个 docker 的仓库,多人协作开发的时候更新效率就会提高很多。
所以,下面我们尝试搭建自己的 docker 仓库。
本地私有仓库
首先搭建一个只有自己本机能够使用的 docker 仓库,目的是为了尝试私有仓库的最简化方法。
安装 registry
$ docker pull registry
Using default tag: latest
latest: Pulling from library/registry
709515475419: Pull complete
df6e278d8f96: Pull complete
4b0b08c1b8f7: Pull complete
80119f43a01e: Pull complete
acf34ba23c50: Pull complete
Digest: sha256:412e3b6494f623a9f03f7f9f8b8118844deaecfea19e3a5f1ce54eed4f400296
Status: Downloaded newer image for registry:latest
运行本地的 registry
docker run -d -p 5000:5000 --restart=always --name registry \
-v /your/path/to/registry-images:/var/lib/registry \
registry:latest
将某个已有的 image 存入 registry
docker tag jdeathe/centos-ssh:centos-7 localhost:5000/ssh:7
docker push localhost:5000/ssh:7
- jdeathe/centos-ssh:centos-7 是已有的 image
- localhost:5000/ssh:7 是准备提交到 本地 registry 的 image,这里 localhost:5000 是本地 registry 的
pull 已经提交到 registry 的镜像
docker pull localhost:5000/ssh:7
局域网私有仓库
如上,搭建一个只有本机访问的私有镜像非常简单,不用对已有的 docker 服务进行任何配置。 如果要搭建一个能在局域网内访问的 docker 仓库,就需要对 docker 服务进行一些简单的配置。
首先,在主机 A 上:
安装 registry 镜像(同上)
将某个 image 导入 registry,这里使用主机 A 的 IP 而不是 localhost
docker tag jdeathe/centos-ssh:centos-7 192.168.0.111:5000/ssh:7
docker push 192.168.0.111:5000/ssh:7
修改主机 A 的 docker 配置(/etc/docker/daemon.json 文件不存在则直接创建)
{
"insecure-registries": ["192.168.0.111:5000"]
}
重启 docker 服务
sudo systemctl restart docker
在同一局域网中的另一台主机 B 上
修改 docker 配置(/etc/docker/daemon.json 文件不存在则直接创建),使 docker daemon 能连上私有的 registry
{
"registry-mirrors": ["192.168.0.111:5000"],
"insecure-registries": ["192.168.0.111:5000"]
}
重启 docker 服务
sudo systemctl restart docker
下载主机 A 中仓库的镜像,在局域网中速度非常快,以后开发过程中做部署测试就非常方便了。
docker pull 192.168.0.111:5000/ssh:7
总结
上面只是简单的搭建了私有仓库,主要用在开发和测试环境中,如果要在生产环境中搭建 docker 私有仓库的话, 就不能使用上面 insercure-registry 的方式,需要配置 tls 的证书和认证,确保私有仓库的安全性。
docker 私有仓库简易搭建的更多相关文章
- docker学习------docker私有仓库的搭建
192.168.138.102:23451.私有仓库的搭建(docker pull registry),拉取最新的镜像 2.查看拉取的仓库镜像(docker images) 3.启用registry镜 ...
- Docker私有仓库Registry 搭建
1. 关于Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有 ...
- docker私有仓库的搭建
Docker搭建本地私有仓库的详细步骤 Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库.使用私有仓库有许多优点:一.节省网络带宽,针对于每个镜像,不用每个人都 ...
- docker私有仓库操作(搭建、运行、添加、删除)
目录 运行私有仓库 TIPS: 上传 把镜像放入私有仓库 验证 查看 TIPS: 垃圾回收 问题排查 参考:https://yeasy.gitbooks.io/docker_practice/cont ...
- Docker私有仓库的搭建与使用
目录 Docker搭建私有仓库 一.搭建registry私有仓库 1.拉取私有仓库registry镜像 2.启动私有仓库容器 3.修改deamon.json 4.重启docker 5.启动regist ...
- 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像
❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...
- Docker私有仓库registry的搭建及使用
前言 由于Docker Hub公共仓库很多时候使用这并不是很方便,大分部因为网络的问题可能拉取的时候会很慢或者拉取不到,所以搭建一个本地的私有仓库. 准备 由于此篇文章是在Kubernetes集群安装 ...
- 一步步搭建docker私有仓库并从私有仓库中下载镜像
一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...
- 搭建docker私有仓库
保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...
随机推荐
- log4j-1.2.6升级到log4j-2.9.0
0.工程是普通java web工程,不是maven工程.需要升级log4j 步骤发下: 1. 在build path中 移除项目对log4j-1.2.6.jar的引用,并物理删除log4j-1.2.6 ...
- 多个微信小程序一个服务端架构
由于某些特定的业务场景,当多个小程序需要一个服务端后台提供数据时,大家可能想到是HTTP路由.是的,实际上我们使用微服务的GateWay网关也是一样的,如下图微服务架构: 网关GateWay的作用在于 ...
- vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。
vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值. vue 父组件与子组件相互通信 一.父组件给子组件传值 props 实现父组件向子组件传值. 1父组件里: ...
- 阿里分布式服务框架Dubbo的架构总结
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...
- 6.3 OrderBy 优化
1. 创建实例 create table tblA( age int, birth TIMESTAMP not null ); insert into tblA(age,birth) values(2 ...
- Python 语法笔记
1.else与while结合 while a>0: pass else: pass #当a<=0时执行 2.with语法,无需关闭文件,python自动关闭 with open('a.tx ...
- js 二叉树遍历
二叉树定义这里不再赘述. 我这里有个二叉树: var tree = { "id": 0, "name": "root", "lef ...
- JavaScript 基础(二) - 创建 function 对象的方法, String对象, Array对象
创建 function 对象的两种方法: 方式一(推荐) function func1(){ alert(123); return 8 } var ret = func1() alert(ret) 方 ...
- eclipse中maven项目jar包不会自动下载解决办法
Eclipse中maven从远程仓库中下载jar包有时会很慢,有些甚至进度停止不动,这个时候我们可能会终止当前下载,但是终止jar包下载后会出现一个问题,再次打开Eclipse时,你会发现提示你项目中 ...
- -moz、-ms、-webkit浏览器前缀解释(PS:后续在详细解释)
-moz-是Firefox Gecko内核,moz代表的是Firefox的开发商Mozill -ms代表ie浏览器私有属性 -webkit代表safari.chrome私有属性