一、准备:
1、服务器(或者虚拟机2台,我的服务环境【  阿里云服务器-Ubuntu 1804 +百度云-Ubuntu 1604】)
2、有效镜像(我这里以上一篇随笔镜像作为有效镜像https://www.cnblogs.com/billowliu/p/12650361.html
3、官网仓库镜像(https://hub.docker.com,打开官网超级慢~官方源镜像下载也慢)
4、daemon.json(主要配置Docker push 、Pull  镜像源地址)
二、目标:
1、如何构建私有仓库
2、如何将镜像上传到私有仓库
3、如何下载私有仓库镜像
 
三、实现步骤
Ⅰ 、准备有效镜像
    用上一篇文章中所用的BillAspNetCoreDocker做范例, 这里先查看一下有哪些镜像,并可以通过 inspeect  镜像查看详细信息
docker images
docker image inspect billcore
这里记录下Tag,目前我理解的应该是版本信息(下面命令相当于Copy并指定Tag信息-推送镜像到私有仓库时准备的)
docker  image tag  billcore  billcore:bill
docker images
 通过billcore镜像创建容器并后台运行(-d后台 -P 暴露端口-否则外网可能无法访问)
docker run -d -P billcore 
现在就可以通过浏览器通过域名或者IP访问端口为32769,如下图所示可以正常运行。
 
到这里镜像确保没有问题且能正常在容器中运行
现在重点是记录Docker private Repository 内容,为下一步集群搭建做准备
Ⅱ、官网仓库镜像
下载官方仓库镜像可能比较慢,国内的镜像源还蛮快的(https://hub.docker.com),相关说明文档:https://docs.docker.com/docker-hub/official_images/
命令格式
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
注:对于Docker镜像来说,如果不显式地指定TAG,则默认会选择 latest标签,即下载仓库中最新版本的镜像。
docker pull registry
再次查看镜像确认已经安装完成
docker images
运行registry -后台运行(守护)暴露服务器与容器端口均为5000 容器名称定义为 registry
docker run -d -P :  --name registry  registry
出现下面图提示,应该是国外源下载速度太慢,设置 daemon.json设置国内
cd /etc/docker
ls
vi /etc/docker/daemon.json
出现编辑界面添加如下其中一条内容即可(多条仅供参考):
网易:{"registry-mirrors": ["http://hub-mirror.c.163.com"]}
阿里:{"registry-mirrors": ["https://help.aliyun.com/document_detail/60750.html"]}
国内:{"registry-mirrors": ["https://registry.docker-cn.com"]}
再次执行,如下所所示成功了
docker run -d -P :  --name registry  registry
再次查看容器,
docker ps -a
至此仓库已经搭建完成,下一步就是往仓库中推送镜像,提供给其他服务器使用
docker images 
现在得目标是将billcore 的镜像推送至私有仓库
docker image tag billcore  xx.xxx.141.79:/billcore
docker images
通过 push命令推送
docker push  xx.xxx.141.79:/billcore
解决办法
echo '{ "insecure-registries":["xxx.xxx.141.79:5000"] }' > /etc/docker/daemon.json
 
 重启Dokcer服务,继续推送
systemctl restart docker
docker push xx.xxx.141.79:/billcore
然后还是出现如下报错,仔细检查原来重启dokcer后容器也跟着停止了,

   解决问题,启动容器:7358409c6e4a 对应 registry
docker start 7358409c6e4a
docker ps -a
   从下图看出docker私有仓库容器已经重新运行成功
继续推送,可以看到正在向私有仓库进行推送billcore,如果是本机会更快,
因为我待会得用百度服务器下载阿里云服务器 私有仓库的镜像所以我用的公网IP有点慢
docker push  xx.xxx.141.79:/billcore
推送完成后
推送完成后查看
curl xx.xxx.141.79:/v2/_catalog
 
现在私有仓库中有存在一个billcore 的项目
 
现在切换到另外一台服务准备下载镜像
1、设置daemon.json
 echo '{ "insecure-registries":["47.105.141.79:5000"] }' > /etc/docker/daemon.json 
重启Docker 服务(这里建议一开始就设置好私有仓库地址,后续统一将镜像在私有仓库中管理不然每次都得重启服务)
service docker restart
下载镜像billcore、部署镜像、并访问网站
docker pull xx.xxx.141.79:/billcore
docker images
docker run -d -P xx.xxx.141.79:/billcore
docker ps -a
至此私有镜像源服务器(阿里)已经搭建完成,并且在百度云服务器中下载镜像进行部署~
 
本文记录均为个人操作步骤笔记(含踩坑过程),仅供参考~
 

Ubuntu构建Docker私有仓库(Repository) 配置过程笔记的更多相关文章

  1. 构建Docker私有仓库

    一.Docker私有仓库   上一篇说了如何利用Dockerfile在已有镜像的基础上构建自己的镜像,那么如果需要让镜像在一个团队中使用,就需要一个仓库,有几种方式可以共享私有镜像. 1.将镜像上传至 ...

  2. 构建docker私有仓库+k8s-pod应用

    环境版本系统:centos7.4docker-compose version 1.26.2docker-py version: 4.3.0CPython version: 2.7.5docker-ve ...

  3. 2.使用nexus3配置docker私有仓库

    1,配置走起 1,创建blob存储 登陆之后,先创建一个用于存储镜像的空间. 定义一个name,下边的内容会自动补全. 然后保存. 注意:实际生产中使用,建议服务器存储500G或以上. 2,创建一个h ...

  4. docker registry 私有仓库 安装配置、查询、删除

    #++++++++++++++++++++++++++++++ #docker-registry 私有仓库 #搜索,下载register镜像 docker search registry docker ...

  5. 03搭建docker私有仓库

    搭建docker私仓,可以使用docker官方提供的registry镜像.该镜像目前有2.0,2.3和2.3.1版本.它只与1.6.0以上版本的docker兼容.搭建私仓的步骤如下: 一:无代理.无认 ...

  6. 如何搭建Docker私有仓库

    私有仓库 有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用. 本节介绍如何使用本地仓库. docker-registry 是官方提供的工具,可以用于构建私 ...

  7. 使用自签名的方式创建Docker私有仓库

    Docker推荐使用CA机构颁发的TLS(Transport Layer Security Protocol)证书来保护docker仓库的安全,但是我们也可以选择使用HTTP或者自签名证书的方式实现本 ...

  8. Docker私有仓库registry的搭建及使用

    前言 由于Docker Hub公共仓库很多时候使用这并不是很方便,大分部因为网络的问题可能拉取的时候会很慢或者拉取不到,所以搭建一个本地的私有仓库. 准备 由于此篇文章是在Kubernetes集群安装 ...

  9. nexus3使用docker运行/创建docker私有仓库/maven私有仓库

    version: '3.2' services: nexus3: container_name: nexus3 hostname: nexus3 image: sonatype/nexus3:3.14 ...

随机推荐

  1. Matlab 常用语法速记 1

    ===快捷帮助=== 查找帮助:doc 函数名 强制终止: ctrl + c 注释: % 清屏 clc,清临时变量窗口 clear NaN: not a number inf: infinite == ...

  2. Python3-随笔目录

      Python3-面向对象 标准库模块 Python3-collections模块-容器数据类型 Python3-datetime模块-日期与时间 Python3-re模块-正则表达式 Python ...

  3. 深入理解JVM(③)虚拟机的类加载器(双亲委派模型)

    前言 先解释一下什么是类加载器,通过一个类的全限定名来获取描述该类的二进制字节流,在虚拟机中实现这个动作的代码被称为"类加载器(Class Loader)". 类与类加载器 类加载 ...

  4. .Net Core api 中获取应用程序物理路径wwwroot

    如果要得到传统的ASP.Net应用程序中的相对路径或虚拟路径对应的服务器物理路径,只需要使用使用Server.MapPath()方法来取得Asp.Net根目录的物理路径,如下所示: // Classi ...

  5. Nginx 从入门到放弃(三)

    今天来学习nginx的日志管理,并通过日志脚本来切割日志并保存. nginx日志管理 在nginx中设置日志格式  http {    log_format main  '$remote_addr - ...

  6. 04 . kubernetes资源清单YAML入门

    YAML 通过k8s操作yaml配置文件在node上创建资源,yaml配置文件就像船垛,用来操控docker这艘大船 yam是专门用来写配置文件的语言,非常简洁和强大.而实际上使用yaml配置文件创建 ...

  7. 在web开发中,为什么前端比后端更得到转行程序员的青睐?必看!

    1.Web开发分类与区别 人们通常将Web分为前端和后端,前端相关的职位有前端设计师(UI/UE),前端开发工程师,后端相关的有后端开发工程师. 2.技术栈区别 看各大招聘网站上,公司对前端开发工程师 ...

  8. 《Head First 设计模式》:观察者模式

    正文 一.定义 观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新. 要点: 观察者模式定义了对象之间一对多的关系. 观察者模式让主题(可观察者 ...

  9. 使用原生js来控制、修改CSS伪元素的方法总汇, 例如:before和:after

    在网页中,如果需要使用辅助性/装饰性的内容的时候,我们不应该直接写在HTML中,这样会影响真正的内容,这就需要使用伪元素了,这是由于css的纯粹语义化是没有意义的.在使用伪元素的时候,会发现js并不真 ...

  10. .NET 开源项目 StreamJsonRpc 介绍[中篇]

    阅读本文大概需要 11 分钟. 上一篇介绍了一些预备知识,包括 JSON-RPC 介绍和实现了 JSON-RPC 的 StreamJsonRpc 介绍,讲到了 StreamJsonRpc 可以通过 . ...