默认情况下,我们拉取docker镜像大多都是从 dockerhub 上拉取的,但有些时候有些镜像是我们自己内部构建的,不想公开给别人使用,那么这个时候就需要构建一个自己的镜像私服了,而 docker 正好提供了,registry镜像,正好可以用来构建自己的私服。

一、拉取 registry镜像

docker pull registry

二、根据镜像启动一个容器

1、创建一个数据卷

docker volume create registry-huan

2、启动容器

docker run -d -p 5000:5000 --restart=always -v registry-huan:/var/lib/registry --name registry-huan registry
  • -p 5000:5000将容器内部的5000端口暴露给外部的5000端口
  • --restart=always 表示遇到错误自动重启
  • --name 执行启动后容器的名字
  • -v registry-huan:/var/lib/registry表示将容器内部的数据挂载到自己的数据卷registry-huan

三、随机访问一个私服的接口,看是否可以返回数据

http://47.101.130.164:5000/v2/_catalog


注意: 这个 repositories 中之所以会存在数据,是因为我之前上传一个 hello-world 的镜像

四、推送一个镜像到自己的私服中

1、拉取一个 hello-world 镜像

docker pull hello-world

2、给这个镜像打一个 tag

docker tag hello-world  47.101.130.164:5000/hello-world

注意:
1、47.101.130.164 这个为我 registry 所在的机器的ip地址
2、5000 为启动 registry 对外暴露的端口

3、推送镜像到自己的私服中

docker push 47.101.130.164:5000/hello-world
  • 在这一步可能会报如下错误
  • 解决方案如下
描述 操作
1、在 vim /usr/lib/systemd/system/docker.service文件中增加如下配置 --insecure-registry 47.101.130.164:5000
2、重新启动docker systemctl daemon-reload
systemctl restart docker.service
3、再次执行 docker push xxx 就会发现可以推送了

4、从私服中拉取镜像

docker pull 47.101.130.164:5000/hello-world-new

五、注意事项

1、如果要推送到自己的私服中,那么在给镜像打tag时需要以 ip[域名]:端口 作为前缀

2、如果推送镜像失败,可能需要修改 /usr/lib/systemd/system/docker.service 配置文件

3、47.101.130.164 为我docker registry 所在的服务器的地址

4、本地操作使用docker的版本为 19.03.1

[root@huan1993 ~]# docker -v
Docker version 19.03.1, build 74b1e89

使用registry搭建docker私服仓库的更多相关文章

  1. docker使用registry搭建本地私有仓库

    参考链接来自:http://blog.csdn.net/wangtaoking1/article/details/44180901/ 和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时 ...

  2. 搭建docker镜像仓库(一):使用registry搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.使用registry搭建私有镜像仓库 3.1 环境介绍 3.2 k8smaster节点配置镜像仓库 3.3 k8sworker1节点配置从私有仓库上传和拉取镜像 3. ...

  3. 一步步搭建docker私有仓库并从私有仓库中下载镜像

    一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...

  4. 搭建docker私有仓库

    保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...

  5. 019.nexus搭建docker镜像仓库/maven仓库

    一.安装docker CE 参考docker doc https://docs.docker.com/install/linux/docker-ce/centos/ 二.docker启动nexus3 ...

  6. windows 环境下搭建docker私有仓库

    windows 环境下搭建docker私有仓库 1.在公用仓库中pull仓库镜像 docker pull regitry 2.启动仓库镜像 //-d意思是后台运行,-p是做端口映射,这里是将本地的50 ...

  7. 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...

  8. docker(五) 使用Docker Registry搭建镜像私服

    1.创建私服 docker run -d --name registry -v /opt/data/registry:/var/lib/registry -p 5000:5000 registry - ...

  9. 基于 registry 搭建 Docker 私有镜像仓库

    今天主要介绍使用 registry 来搭建 Docker私有镜像仓库,方便在公司内部项目中使用,registry 也是 Docker 官方提供的一个镜像,操作也很简单. dockerhub: http ...

随机推荐

  1. GoLang设计模式06 - 对象池模式

    这次介绍最后一个创建型模式--对象池模式.顾名思义,对象池模式就是预先初始化创建好多个对象,并将之保存在一个池子里.当需要的时候,客户端就可以从池子里申请一个对象使用,使用完以后再将之放回到池子里.池 ...

  2. 从需求去理解 Linux dbus与基于dbus协议的无agent软件管理

    What is IPC IPC [Inter-Process Communication] 进程间通信,指至少两个进程或线程间传送数据或信号的一些技术或方法.在Linux/Unix中,提供了许多IPC ...

  3. Servlet3.0注解配置访问路径和urlParttern配置

    一.Servlet用注解配置访问路径 二.IDEA的tomcat相关配置 其中,第一点的配置文件,直接在IDEA的可视化操作界面修改就可以改掉配置文件中内容: 三.urlParttern配置 其中,* ...

  4. golang sync.noCopy 类型 —— 初探 copylocks 与 empty struct

    问题引入 学习golang(v1.16)的 WaitGroup 代码时,看到了一处奇怪的用法,见下方类型定义: type WaitGroup struct { noCopy noCopy ... } ...

  5. N皇后演示程序

    问题描述: 在N×N格的棋盘上放置彼此不受攻击的N个皇后,按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子,求解可以放置的布局方式. 设计要求: (1) 要求实现图形化棋盘显示 ...

  6. 解决sofaboot项目右键入口方法没有run sofa application

    选中入口方法名,右键出现run sofa application

  7. css3 横屏

    @media screen and (orientation: portrait) { html{ width : 100vmin; height : 100vmax; } body{ width : ...

  8. 2.docker安装及原理

    一. docker的架构 1.1 docker的架构 先来看docker官网给出的docker架构图: 看官网,docker的架构描述: https://docs.docker.com/get-sta ...

  9. Struts2 S2-061 远程命令执行漏洞复现(CVE-2020-17530)

    0x01 漏洞简介 Struts在某些情况下可能存在OGNL表达式注入漏洞,如果开发人员使用了 %{-} 语法进行强制OGNL解析,某些特殊的TAG属性可能会被双重解析.攻击者可以通过构造恶意的OGN ...

  10. springBoot 基础入门

    来处:是spring项目中的一个子项目 优点  (被称为搭建项目的脚手架)         减少一切xml配置,做到开箱即用,快速上手,专注于业务而非配置     从创建项目上: -- 快速创建独立运 ...