使用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 ...
随机推荐
- IMAP协议笔记
1. IMAP客户端接收流程简介 1) 遍历所有的邮箱,获取邮箱状态,然后遍历所有邮箱获取到更新的邮件头部信息(包含收件人.发件人.主题.以及时间信息) 2)获取最新邮件的完整信息,其中也包括在第一步 ...
- VueJS学习资料大全
参考:http://www.worktle.com/articles/2467/ 文档&社区 Vue.js官方网站(中文) :http://cn.vuejs.org/ Vue论坛:http:/ ...
- Flex语法和常用鼠标手势
Flex弹性和模型 1.display : flex/inline-flex ;(设置给氟元素) flex : 将对象作为弹性伸缩盒显示: inline-flex : 将对象作为内联块级弹性伸缩显示: ...
- 详解JDBC中的Class.forName(DriverName)
在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法.通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态 ...
- 论文解读(SimCLR)《A Simple Framework for Contrastive Learning of Visual Representations》
1 题目 <A Simple Framework for Contrastive Learning of Visual Representations> 作者: Ting Chen, Si ...
- 1137. 第 N 个泰波那契数
1137. 第 N 个泰波那契数 泰波那契序列 Tn 定义如下: T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2 给 ...
- Java实现文件下载
一.html <button class="ui-btn ui-btn-primary left20" onclick="downloadXlsTemplate() ...
- win8 连接到OneDrive时出现问题-感叹号
显示最后更新时间是1970年... 还有感叹号,没法同步 解决办法: 管理员运行cmd命令: 输入"netsh int ip reset c: esetlog.txt",按下回车键 ...
- Linux系列(41) - 监听命令Vmstart,Top(还需完善)
一.简介 vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控:属于sysstat包:它是对系统的整体情况进行统计 ...
- Kotlin协程入门
开发环境 IntelliJ IDEA 2021.2.2 (Community Edition) Kotlin: 212-1.5.10-release-IJ5284.40 介绍Kotlin中的协程.用一 ...