author: headsen chen

date:2018-06-30  23:14:16

服务端(私有仓库:centos7_64位),使用端:centos6_64位

1、仓库的搭建:

安装docker:

yum -y install epel-release
yum -y install docker-io
systemctl start docker

将本地的仓库换成阿里云的镜像仓库:

vim /etc/docker/daemon.json  # 内容如下:
{
"registry-mirrors": ["https://cvv5tle1.mirror.aliyuncs.com"] # 这里的镜像源是我专属的, 其他人用可能起不到加速效果
}
systemctl daemon-reload
systemctl restart docker
在本地注册阿里云的镜像:
docker login --username=woccb registry.cn-hangzhou.aliyuncs.com/woccb2/chen
输入设置的密码 

运行一个生成本地仓库的脚本:

sh registry-install.sh

[root@localhost ~]# cat registry-install.sh
#!/bin/bash
# Description: create a private registry v2.
# Version: 0.2
# Author: headsen chen set -o xtrace
if [[ $UID -ne ]]; then
echo "Not root user. Please run as root."
exit
fi # Install Docker if not
docker -v
if [[ $? -ne ]]; then
echo "Please install Docker first."
exit
fi REGISTRY_VERSION=2.2 # Download registry image v2.
docker pull registry:${REGISTRY_VERSION}

# Start registry container
mkdir /opt/registry
docker run -d -p : --restart=always -v /opt/registry:/var/lib/registry --name hummer_registry registry:${REGISTRY_VERSION}

检测生成的docker仓库:

[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eaa972942548 registry:2.2 "/bin/registry /et..." minutes ago Up minutes 0.0.0.0:->/tcp hummer_registry
[root@localhost ~]#

查询开放的端口:

[root@localhost ~]# lsof -i:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr root 4u IPv6 0t0 TCP *:commplex-main (LISTEN)

2、客户端配置:

安装

yum -y install epel-release
yum -y install device-mapper-event-libs
yum -y install docker-io

修改配置文件(不修改无法和本地仓库进行认证连接)

vim /etc/sysconfig/docker   # 加上黄色标注的部分就可以了

[root@localhost ~]# cat /etc/sysconfig/docker
# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker -d other_args="--insecure-registry 192.168.159.131:5000"
DOCKER_CERT_PATH=/etc/docker # Resolves: rhbz# (docker issue #)
DOCKER_NOWARN_KERNEL_VERSION=

service docker restart

测试:下载一个镜像并上传到本地仓库

docker pull webdevops/nginx
docker images
docker tag webdevops/nginx 192.168.159.131:/nginx-chen # 注意这个固定的格式,否则报错
docker push 192.168.159.131:/nginx-chen #出现以下提示表示push成功,
# 如果是加上tag: docker push  192.168.159.131:5000/chen:latest
[root@localhost ~]# docker push 192.168.159.131:/nginx-chen
The push refers to a repository [192.168.159.131:/nginx-chen] (len: )
ca89ae17bc84: Image already exists
2eed794b7b9a: Image successfully pushed
15a4031b10d3: Image successfully pushed
15a4031b10d3: Buffering to Disk
6c4863f14961: Image already exists
aa02f81f314b: Image already exists
0893fa3a44c9: Image successfully pushed
6565352c3a2b: Image successfully pushed
6565352c3a2b: Buffering to Disk
e86584bf870d: Image successfully pushed
928d4898ab17: Image successfully pushed
928d4898ab17: Buffering to Disk
073806b60691: Image already exists
7eb5c12881e1: Image already exists
63474e4f2842: Image successfully pushed
f7fdafe228d3: Image successfully pushed
8475d7efa2f0: Image successfully pushed
565220263a7c: Image successfully pushed
7d614f18edc3: Image successfully pushed
Digest: sha256:417cfafb30d330f5de3c9cef12ee935a321d16593bdd903de3d1017ad3eaa3f3
[root@localhost ~]#

删除下载的镜像,并从本地的仓库进行下载,看速度是否提高:

docker rmi webdevops/nginx
docker rmi 192.168.159.131:/nginx-chen
docker images
docker pull 192.168.159.131:5000/nginx-chen # 此时从本地的仓库进行下载,发现是极速的秒传

查询私有仓库中有哪些镜像:

[root@localhost ~]# curl -XGET http://192.168.159.131:5000/v2/_catalog
{"repositories":["busybox"]} [root@localhost ~]# curl -XGET http://192.168.159.131:5000/v2/busybox/tags/list
{"name":"busybox","tags":["latest"]} 

docker的私有仓库的搭建的更多相关文章

  1. docker学习------docker私有仓库的搭建

    192.168.138.102:23451.私有仓库的搭建(docker pull registry),拉取最新的镜像 2.查看拉取的仓库镜像(docker images) 3.启用registry镜 ...

  2. docker 私有仓库简易搭建

    概要 本地私有仓库 局域网私有仓库 总结 概要 docker hub 使用非常方便,而且上面有大量的镜像可以使用. 但是,每次都远程下载镜像速度非常慢,如果能在本地做一个 docker 的仓库,多人协 ...

  3. Docker私有仓库的搭建与使用

    目录 Docker搭建私有仓库 一.搭建registry私有仓库 1.拉取私有仓库registry镜像 2.启动私有仓库容器 3.修改deamon.json 4.重启docker 5.启动regist ...

  4. Docker本地私有仓库实战

    Docker仓库主要用于存放Docker镜像,Docker仓库分为公共仓库和私有仓库,基于registry可以搭建本地私有仓库,使用私有仓库的优点如下: 1)节省网络带宽,针对于每个镜像不用去Dock ...

  5. 部署Nexus作为docker的私有仓库

    目录 Docker搭建Nexus私有仓库... 1 一.安装部署... 1 1.安装... 2 2.访问网页端... 2 二.配置使用... 2 1.创建本地仓库... 2 2.docker配置... ...

  6. Docker Harbor私有仓库部署与管理 (超详细配图)

    Docker Harbor私有仓库部署与管理 1.Harbor 介绍 2.Harbor部署 3.Harbor管理 1.Harbor 介绍: 什么是 Harbor ? Harbor 是 VMware 公 ...

  7. Python Docker 查看私有仓库镜像【转】

    文章来源:python Docker 查看私有仓库镜像 pip 安装: # 首先安装epel扩展源: yum -y install epel-release # 更新完成之后,就可安装pip: yum ...

  8. Git 安装及用法 github 代码发布 gitlab私有仓库的搭建

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 这个版本控制软件,有 svn还有git,是一个工具. git是由linux的作者开发的 git是一个分布式版本控制系统 ...

  9. Docker registry 私有仓库镜像查询、删除、上传、下载 shell

    #Docker官方私有仓库registry #官方只提供了API接口,不方便使用,就写了个shell #docker-registry安装配置http://www.cnblogs.com/elvi/p ...

随机推荐

  1. quartz cron表达式在线生成

    近期使用了quartz定时器,有感于起cron表达式有点复杂.且无法实时推断定时时间是否正确,因此写了个在线表达式及依据表达式获得前10次运行时间. 訪问地址例如以下:http://cron.g2ro ...

  2. WiX and System Folders 系统目录 installshield 如何将文件安装到C盘根目录

    Property name Brief description of property AdminToolsFolder Full path to the directory containing a ...

  3. JSON传参

    通过javascript将数据组织成json格式,然后传到java后台. 注意:前台json数组传参到后台时候需要将对象(json或json数组)转换成字符串(字符串数组). Simple: 1.前台 ...

  4. python3.7+opencv3.4.1

    https://solarianprogrammer.com/2016/09/17/install-opencv-3-with-python-3-on-windows/ https://www.cnb ...

  5. 李洪强iOS经典面试题36-简单介绍 ARC 以及 ARC 实现的原理

    李洪强iOS经典面试题36-简单介绍 ARC 以及 ARC 实现的原理   问题 简单介绍 ARC 以及 ARC 实现的原理. 考查点 ARC 是苹果在 WWDC 2011 提出来的技术,因此很多新入 ...

  6. 0061 Spring MVC的数据格式化--Formatter--FormatterRegistrar--@DateTimeFormat--@NumberFormat

    Converter只完成了数据类型的转换,却不负责输入输出数据的格式化工作,日期时间.货币等虽都以字符串形式存在,却有不同的格式. Spring格式化框架要解决的问题是:从格式化的数据中获取真正的数据 ...

  7. CM本地Yum源的搭建

    CM本地Yum源的搭建 以本地yum源安装CM5为例,解释本地yum源的安装和利用本地yum源安装CM5. Cloudera Manager 5(以下简称CM)默认采用在线安装的方式,给不能联互联网或 ...

  8. SQL Server 2008 允许远程链接 解决方法

    用户在使用SQL Server 2008远程链接时,可能会弹出如下对话框: 在链接SQL服务器时发生网络链接错误或特定实例错误.SQL服务器不存在或者链接不成功.请验证用户名是否正确或SQL服务器是否 ...

  9. VisualStudio“在查找预编译头使用时跳过"解决方案

    解决方案1:确保所有的cpp文件都包含了stdafx.h,且确保stdafx.h是第一个#include指令(经尝试,可行) 解决方案2:去掉预编译头 项目->属性->配置属性->c ...

  10. git学习(二):git config命令

    不同的git config操作不同的参数文件 git config --global // 配置用户目录下的.gitconfig那文件 git config --system // 配置系统级配置文件 ...