docker 简单私有仓库搭建
来源:bboysoul     阅读:459
九狐源码
发布于 2018-10-04 23:20
查看主页

概述

尽管说使用公共的镜像仓库很方便,但是还是有少量不好的地方,比方网速的问题,dockerhub在中国是很慢的,还有就是上传到dockerhub上的镜像是所有人都可以访问的,假如我们想要一个速度快,而且不想给别人访问的仓库那么就需要自己搭建了,首先详情一下我搭建仓库的本地环境,其实很简单,就是一台云服务器,一台树莓派,云服务器用来当仓库。

搭建仓库

搭建其实很简单,没有什么是一个镜像做不到的,假如不能,那就两个,搭建仓库最简单的做法,就是在dockerhub上pull下官方的仓库镜像 进行搭建就好了。你们可以在dockerhub上搜索registry,第一个就是,pull到本地就好,详细的使用指南,上面也有,假如觉得pull的速度太慢,那么可以使用阿里云大的镜像加速器
docker pull registry
为什么我使用云服务器当仓库呢,由于这个镜像是不支持arm架构的
接着创立一个目录用来存放上传过来的镜像
mkdir myregistry
之后使用下面命令来启动这个镜像
docker run -d -p 5000:5000 -v /root/myregistry:/var/lib/registry registry
注意一个问题是,假如你是阿里云的云服务器那么安全组对应的端口肯定要打开,有的傻逼总是问我这样的问题
-d 表示这个容器在后端运行,-p就是端口映射,-v就是把docker容器中的/var/lib/registry目录映射到本地/root/myregistry中,这样一旦容器挂了那么数据还在

先从别的镜像仓库pull一个镜像

首先我们从别的仓库pull一个镜像,比方Ubuntu
docker pull ubuntu
接着我们有用这个镜像来做测试

配置树莓派上的docker

接着我们就是配置树莓派上的docker来使用我们自己搭建的仓库了
修改下面的文件,假如没有的话自己新建就好
vim /etc/docker/daemon.json
加上

{    "insecure-registries": ["ip:5000"]}

注意json中的字段肯定要是insecure-registries,由于默认你搭建的仓库是使用http去访问的,而docker用户端使用的是https去访问,所以就会报下面这个错误
server gave HTTP response to HTTPS client
而registry-mirrors就是用来配置https仓库的,比方阿里云的仓库
之后我们刚pull下来的镜像重命名,让它可以和仓库匹配
docker tag ubuntu ip:5000/ubuntu
接着就是push上去
docker push ip:5000/ubuntu
push完成之后你可以在云服务器下面这个目录上查看是不是push上去了
/root/myregistry/docker/registry/v2/repositories/ubuntu
之后删除本地的镜像
docker rmi 47.100.210.53:5000/ubuntu
docker rmi ubuntu
接着把镜像pull下来
docker pull 47.100.210.53:5000/ubuntu
假如一切都没有问题,那么就说明你成功了

欢迎关注Bboysoul的博客www.bboysoul.com
Have Fun

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 服务器应用
相关推荐
零基础小白怎样入门前台,Web前台都学些什么
windows2016安装iis后css、js访问403
PolarDB-X 私有协议:提升集群的性能和稳固性
网站HTTP更新HTTPS完全配置手册
Fcitx使用搜狗词库与皮肤[转载]
首页
搜索
订单
购物车
我的