docker 简单私有仓库搭建
概述
虽然说使用公共的镜像仓库很方便,但是还是有一些不好的地方,比如网速的问题,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一个镜像,比如Ubuntudocker 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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
九步构建自己的hello world Docker镜像
构建 Docker 镜像 Docker镜像构建是通过 Dockerfile来构建的,里面运行的程序是可以自定的,从编写程序到安装Docker镜像,可以一气呵成。接下来我们就通过九步实现一个自定义的镜像的制作、构建及运行。 编写在Docker中要运行的程序 该部分主要是镜像中程序的编写及编译 1. 创建目录 # 创建应用程序目录 mkdir hello-docker # 进入该目录 cd hello-docker 2. 编写程序 vim hello.c 3. 源码 #include<stdio.h> Int main (){ Printf("hello docker\n"); } 4. 编译 将编写的c程序编译在hello-docker根目录 gcc --static hello.c -o hello Dockerfile文件编写 5. 在hello-docker文件夹下新建Dockerfile文件 vim Dockerfile 6. 编写Dockerfile中的内容 FROM scatch ADD hello / RUN yun update CMD ["/hello"] ...
- 下一篇
感谢区块链,分权和数据安全 - 是未来
如今,一切都在数字化。 我们曾经存储在相册中的照片通常不再打印; 他们存储在在线相册。 而且很少有人再用实际的纸质计划者来追踪他们的生活。 相反,每日提醒和约会都存储在数字日历中。 更重要的是,很少有人维护手写分类帐来跟踪他们的银行账户。有网站和应用程序为他们工作,并允许轻松访问这些数据。 与此同时,多个行业的公司都将数字化存储所有文件和数据。数字网络从财务记录到人事档案都存储公司的内部数据。数据公司从客户处收集的数据也经常以这种方式存储。 听起来很不错 - 除了事实上,有这么多事情发展到数字化,我们越来越容易受到安全漏洞的影响。而且,除了我们可能被黑客攻击的风险之外,当我们将所有东西都存储在计算机上的时候,我们面临着我们正在使用的其中一个数字网络将会关闭的可能性。 这种情况经常发生:根据Datacenter Dynamics近期的
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题