使用registry搭建docker私服仓库
使用registry搭建docker私服仓库
默认情况下,我们拉取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私服仓库的更多相关文章
- docker使用registry搭建本地私有仓库
参考链接来自:http://blog.csdn.net/wangtaoking1/article/details/44180901/ 和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时 ...
- 搭建docker镜像仓库(一):使用registry搭建本地镜像仓库
目录 一.系统环境 二.前言 三.使用registry搭建私有镜像仓库 3.1 环境介绍 3.2 k8smaster节点配置镜像仓库 3.3 k8sworker1节点配置从私有仓库上传和拉取镜像 3. ...
- 一步步搭建docker私有仓库并从私有仓库中下载镜像
一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...
- 搭建docker私有仓库
保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...
- 019.nexus搭建docker镜像仓库/maven仓库
一.安装docker CE 参考docker doc https://docs.docker.com/install/linux/docker-ce/centos/ 二.docker启动nexus3 ...
- windows 环境下搭建docker私有仓库
windows 环境下搭建docker私有仓库 1.在公用仓库中pull仓库镜像 docker pull regitry 2.启动仓库镜像 //-d意思是后台运行,-p是做端口映射,这里是将本地的50 ...
- 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库
目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...
- docker(五) 使用Docker Registry搭建镜像私服
1.创建私服 docker run -d --name registry -v /opt/data/registry:/var/lib/registry -p 5000:5000 registry - ...
- 基于 registry 搭建 Docker 私有镜像仓库
今天主要介绍使用 registry 来搭建 Docker私有镜像仓库,方便在公司内部项目中使用,registry 也是 Docker 官方提供的一个镜像,操作也很简单. dockerhub: http ...
随机推荐
- Vue状态管理Vuex简单使用
状态管理保存在store\index.js中,简单说明如下 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export def ...
- visual studio下载速度为0解决方法
步骤: 一,更改网络设置 二,cmd刷新dns 一,更改网络设置 1,点开控制面板,打开网络和Internet 2,点击网络和共享中心 3,点击你连接的网络,那个是你连接的WIFI名字 4,点击属性 ...
- mybatis零碎
< < 小于号 > > 大于号 & & 和 ' ' 单 ...
- PHP中针对区域语言标记信息的操作
相信大家对 zh_CN 这个东西绝对不会陌生,不管是 PHP 中,还是在我们的网页上,都会见到它的身影.其实这就是指定我们的显示编码是什么国家或者地区的,使用何种语言.对于这种区域语言的标记来说,PH ...
- 优雅地创建未定义类PHP对象
在PHP中,如果没有事先准备好类,需要创建一个未定义类的对象,我们可以采用下面三种方式: new stdClass() new class{} (object)[] 首先是stdClass,这个类是一 ...
- Windows 10 64位操作系统 下安装、启动测试python pycharm
一.下载python3.7.7安装包 1:详细下载安装版本可见官网:https://www.python.org/downloads/release/python-373/ 2:百度盘分享连接:htt ...
- jenkin—持续集成
jenkins与持续集成 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.(百度百科) 持续集 ...
- 鸿蒙内核源码分析(ELF解析篇) | 你要忘了她姐俩你就不是银 | 百篇博客分析OpenHarmony源码 | v53.02
百篇博客系列篇.本篇为: v53.xx 鸿蒙内核源码分析(ELF解析篇) | 你要忘了她姐俩你就不是银 | 51.c.h.o 加载运行相关篇为: v51.xx 鸿蒙内核源码分析(ELF格式篇) | 应 ...
- go 成长路上的坑(2)
请看代码 代码一 package main import "fmt" func main() { var a Integer = 1 var b Integer = 2 var i ...
- Hyper-V CPU设置
前言 最近在用Hyper-V测试项目,发现在运行过程中发现项目总数崩掉,几经发现有一个共性,CPU占用率100%,分析问题发现问题出在Hyper-V CPU设置上,Hyper-V装系统就不赘述了,网上 ...