Docker 核心技术之仓库
Docker 仓库简介
什么是Docker仓库
- Docker仓库就是存放docker镜像并有docker pull方法下载的云环境
- Docker仓库分为公有仓库和私有仓库。
- 公有仓库指Docker Hub(官方)等开放给用户使用、允许用户管理镜像。
- 私有仓库指由用户自行搭建的存放镜像的云环境。
Docker 私有仓库搭建
搭建无认证私有仓库
第一步:在需要搭建仓库的服务器上安装docker。
第二步:在服务器上,从docker hub下载registry仓库
docker pull registry

第三步:在服务器上,启动仓库
docker run -d -ti --restart always --name my-registry -p 8000:5000 -v /my-registry/registry:/var/lib/registry registry

注意:registry内部对外开放端口是5000。默认情况下,会把镜像存放于容器内的/var/lib/registry(官网Dockerfile中查看)目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失。在这里指定了数据卷,会把镜像挂载到宿主机的/my-registry/registry 目录下。这样删除镜像,镜像也不会丢失
本地利用curl 服务器IP:8000/v2/_catalog 查看当前仓库中的存放的镜像列表。(注意打开8000端口访问)
本机验证私有仓库服务是否启动
curl 127.0.0.1:8000/v2/_catalog

私有仓库--上传、下载镜像
第一步:利用docker tag重命名需要上传的镜像
docker tag IMAGE 服务器IP:端口/IMAGE_NAME
docker tag centos 47.95.8.70:8000/centos-latest
第二步:利用docker push上传刚刚重命名的镜像
docker push 服务器IP:端口/centos
docker push 47.95.8.70:8000/centos-latest

注意:
必须重命名为服务器IP:端口/IMAGE_NAME
如果push出现了类似https的错误那么需要往配置文件/etc/docker/daemon.json里添加:”insecure-registries”:[“服务器IP:端口”]
然后重启docker。

下载私有仓库中的镜像
docker pull 47.95.8.70:8000/centos-latest
搭建带认证的私有仓库(一)
在服务器上:
第一步:删除先前创建的无认证的仓库容器
docker rm -f my-registry
第二步:创建存放认证用户名和密码的文件:
mkdir /my-registry/auth -p
第三步:创建密码验证文件。注意将将USERNAME和PASSWORD替换为设置的用户名和密码
docker run --entrypoint htpasswd registry -Bbn USERNAME PASSWORD > /my-registry/auth/htpasswd
docker run --entrypoint htpasswd registry -Bbn zhang zhangbiao > /my-registry/auth/htpasswd
第四步:重新启动仓库镜像
docker run -d -p 8000:5000 --restart=always --name docker-registry \ -v /my-registry/registry:/var/lib/registry \ -v /my-registry/auth:/auth \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \ registry
在浏览器中查看镜像列表
http://47.95.8.70:8000/v2/_catalog

docker logout 47.94.153.230:8000
带认证的私有仓库 -上传、下载镜像
在本地机器上:
docker tag centos 47.95.8.70:8000/centos-latest docker push 47.95.8.70:8000/centos-latest

可以看到没有认证
第一步:首先登录到服务器
docker login -u username -p password 47.94.153.230:8000
第二步:然后执行pull或者push命令 第三步:操作完毕后,可以退出登录

这是如果想查看仓库中已有的镜像,那么需要进行http验证才可以。可以直接借助浏览器访问47.94.153.230:8000/v2/_catalog就可以访问了
注意这里:47.94.153.230指服务器IP
备忘:重点搭建私有仓库
Docker 核心技术之仓库的更多相关文章
- Docker镜像的仓库及底层依赖的核心技术(3)
一.docker镜像的仓库 仓库分为公共仓库和私有仓库 DockerHub的官方仓库:https://hub.docker.com DockerPool社区仓库:https://dl.dockerpo ...
- docker镜像的仓库
一.docker镜像的仓库 --- repos-registry的创建: 仓库分为公共仓库和私有仓库 DockerHub的官方仓库 https://hub.docker.com DockerPool社 ...
- 第四章 使用Docker镜像和仓库(二)
第四章 使用Docker镜像和仓库(二) 回顾: 开始学习之前,我先pull下来ubuntu和fedora镜像 [#9#cloudsoar@cloudsoar-virtual-machine ~]$s ...
- 第四章 使用Docker镜像和仓库
第4章 使用Docker镜像和仓库 回顾: 回顾如何使用 docker run 创建最基本的容器 $sudo docker run -i -t --name another_container_mum ...
- Docker镜像与仓库(一)
Docker镜像与仓库(一) Docker镜像与仓库(一) 如何查找镜像? Docker Hub https://registry.hub.docker.com docker search [OPTI ...
- 微服务架构 - 搭建docker本地镜像仓库并提供权限校验及UI界面
搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本 ...
- 使用Nexus3构建Docker私有镜像仓库
一.安装Nexus3 Nexus3是Sonatype提供的仓库管理平台,Nuexus Repository OSS3能够支持Maven.npm.Docker.YUM.Helm等格式数据的存储和发布:并 ...
- Docker 核心技术之镜像
镜像简介 镜像是一个Docker的可执行文件,其中包括运行应用程序所需的所有代码内容.依赖库.环境变量和配置文件等. 通过镜像可以创建一个或多个容器. 镜像搜索 - docker search 作用: ...
- 【Docker】(2)---仓库、镜像、容器
[Docker](2)---仓库.镜像.容器 学习Docker,我觉得首先要了解的是仓库.镜像.容器到底是什么,他们有什么区别. 一.通俗理解 1.Docker 镜像 (images) 容器运 ...
随机推荐
- CopyOnWriteArrayList源码解析
Java并发包提供了很多线程安全的集合,有了他们的存在,使得我们在多线程开发下,可以和单线程一样去编写代码,大大简化了多线程开发的难度,但是如果不知道其中的原理,可能会引发意想不到的问题,所以知道其中 ...
- Docker & ASP.NET Core (4):容器间的连接
第一篇:把代码连接到容器 第二篇:定制Docker镜像 第三篇:发布镜像 Docker容器间的连接 Docker提供了两种方式可以用来做容器间的连接/通信: Legacy Linking:这种方式使用 ...
- 一次生产 CPU 100% 排查优化实践
前言 到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题. 还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环 ...
- 在Coding上搭建Hexo个人博客
先注册一个Coding账号,然后创建一个项目这个项目的名字应该是{username}.coding.me 安装hexo脚手架 $ npm install -g hexo-cli 建站 安装完 Hexo ...
- Mac使用Gradle上传jar到中央仓库(最完整的采坑记录)
前言 当我们封装完成我们自己做的工具之后,那我们肯定想要发给别人让别人来进行使用,上传到中央仓库是一种引入时最方便的选择. 网上有很多教程,但是大多都是maven和windows的环境. 今天就来记录 ...
- JAVA WEB快速入门之环境搭建
前言 我是一直致力于:.NET技术栈.WEB前端.架构设计相关的开发与管理工作,但因国内大环境影响及公司技术方向发生转变(由.NET全部转为JAVA),需要熟练掌握JAVA WEB相关的知识,故我也得 ...
- 学习经验分享(最近听了一节Java公开课)
最近听了一节Java公开课,讲的Tomcat8.0的,老师分享的学习方法很好, 时间和精力要用对地方 1.学习一个知识的广度和深度,先学主要的主流的,不要学了很多不该学,没必要学的东西 2.要花时间总 ...
- RSA签名和验签Util
目录 1.DigitalSign类 2.CryptException异常类 3.加签示例 1.DigitalSign类 import org.apache.commons.codec.binary.B ...
- 使用cobbler工具实现centos 6,7系统的自动化安装
vmware里面准备两台虚拟机,一台用于安装cobbler服务器,另一台当作测试机使用,cobbler服务器需要两块网卡,一块需要连接外网,需要使用epel源.测试机使用一块仅主机的模式的网卡,注意要 ...
- 1920*1080pc端适配
(function(doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? ' ...