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) 容器运 ...
随机推荐
- java8 时间使用
为什么需要新的时间API 文章来源:https://www.cnblogs.com/guozp/p/10342775.html 在Java 8之前的日期/时间API之前,现有的与日期和时间相关的类存在 ...
- 【Android Studio安装部署系列】二十七、Android studio修改项目名称和包名
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 实际项目开发中可能碰到项目名称写错了或者需要修改,而且包名可能也想要修改,那么如何操作呢. 本文是在Android Studio3. ...
- VLayoutDemo【VLayout的简单使用demo(基于V1.2.8版本)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 VirtualLayout是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件 ...
- Spring入门(二):自动化装配bean
Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中需要创建的bean. 自动装配(autowiring):Spring会自动 ...
- AR增强现实开发介绍(续)
AR增强现实开发介绍(续) ---开发基础篇 开发增强现实技术,无论是商业级应用,还是面向幼儿教育的游戏产品,都需要从了解.获取.下载增强现实插件开始.目前全世界使用量最大公认最好的增强现实插件是高通 ...
- SpringBoot + Spring Security 学习笔记(二)安全认证流程源码详解
用户认证流程 UsernamePasswordAuthenticationFilter 我们直接来看UsernamePasswordAuthenticationFilter类, public clas ...
- 【面试】足够应付面试的Spring事务源码阅读梳理(建议珍藏)
Starting from a joke 问:把大象放冰箱里,分几步? 答:三步啊,第一.把冰箱门打开,第二.把大象放进去,第三.把冰箱门带上. 问:实现Spring事务,分几步? 答:三步啊,第一. ...
- jquery快速入门(二)
jQuery 效果 1.隐藏,显示 1.1显示 hide() 和隐藏 show() 语法:$(selector).hide(speed,callback); $(selector).show(spee ...
- golang标准库 context的使用
本文索引 问题引入 context包简介 示例 问题引入 goroutine为我们提供了轻量级的并发实现,作为golang最大的亮点之一更是备受推崇. goroutine的简单固然有利于我们的开发,但 ...
- jquery中的$.fn的用法
JQuery里的原型prototype分析 http://www.nowamagic.net/librarys/veda/detail/653 jquery中的$.fn的用法 ...