Docker搭建私有镜像仓库的方法

和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。

使用私有仓库有许多优点:

  1. 节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;
  2. 提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。

现在Docker用处越来越多了,所以今天就想着搭建一个私有镜像仓库来维护内部我们自己的镜像。

环境

  1. CentOS 7.x
  2. Docker 1.12.6

安装 docker-distribution

$ sudo yum install -y docker-distribution

$ sudo systemctl enable docker-distribution

$ sudo systemctl start docker-distribution

使用

获取测试镜像

首先从Docker中央仓库获取一个用来测试的容器镜像,这里就使用busybox来作为测试镜像。

$ sudo docker pull busybox

$ sudo docker images
REPOSITORY          TAG         IMAGE ID      CREATED       SIZE
docker.io/busybox       latest       9d7e6df8e5ca    8 hours ago     1.129 MB

标记并上传镜像私有镜像

我们这里不对busybox做任何修改,只是换个名字作为私有镜像。

$ sudo docker tag busybox:latest localhost:5000/kongxx/mybusybox:latest
$ sudo docker push localhost:5000/kongxx/mybusybox:latest

上传完成后可以使用下面命令查看一下

$ curl http://192.168.0.109:5000/v2/kongxx/busybox/tags/list
{"name":"kongxx/busybox","tags":["latest"]}

同时我们查看一下本地的镜像列表

$ sudo docker images
REPOSITORY            TAG         IMAGE ID      CREATED       SIZE
localhost:5000/kongxx/mybusybox  latest       9d7e6df8e5ca    8 hours ago     1.129 MB
docker.io/busybox         latest       9d7e6df8e5ca    8 hours ago     1.129 MB

测试镜像仓库

为了能访问私有仓库(因为这里是自己测试,所以没有使用https),还需要修改一下Docker配置文件

编辑 /etc/sysconfig/docker 文件,将其中的 OPTIONS 参数加上

--insecure-registry 192.168.0.109:5000

然后重新启动Docker服务

$ sudo systemctl restart docker

为了测试,我们先把原来本地已经有的镜像删除

$ sudo docker rmi docker.io/busybox
$ sudo docker rmi localhost:5000/kongxx/mybusybox

然后重新获取镜像,如下:

$ sudo docker pull 192.168.0.109:5000/kongxx/mybusybox
Using default tag: latest
Trying to pull repository 192.168.0.109:5000/kongxx/mybusybox ...
latest: Pulling from 192.168.0.109:5000/kongxx/mybusybox
414e5515492a: Pull complete
Digest: sha256:fbcd856ee1f73340c0b7862201b9c045571d1e357797e8c4c0d02a0d21992b80

从输出可以看到已经可以从自己的仓库下载镜像了。

其他

最后说一下,如果要查询私有仓库里有哪些镜像,我还没有找到啥好方法可以一次全部查到,但是可以通过下面的组合命令来查询。

首先查询私有仓库上有那些镜像名

$ curl -XGET http://192.168.0.109:5000/v2/_catalog
{"repositories":["kongxx/mybusybox","mandy/mybusybox"]}

然后使用下面的命令查看镜像有那些版本

# curl -XGET http://192.168.0.109:5000/v2/<image_name>/tags/list
$ curl -XGET http://192.168.0.109:5000/v2/kongxx/mybusybox/tags/list
{"name":"kongxx/mybusybox","tags":["latest"]}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • docker创建私有镜像仓库搭建教程

    我的环境相关设置如下 环境:centos7 IP地址:10.211.55.30 dockere版本:1.10.3 镜像仓库:v2 首先在10.211.55.30机器上下载registry镜像 $ docker pull registry 也可以进行镜像导入的方法进行离线的安装.可以去我的网盘中下载:https://pan.baidu.com/s/1jHZlz2u 然后进入Docker中进行导入 $ docker load -i registry.tar 下载完之后我们通过该镜像启动一个容器 $

  • Docker搭建私有镜像仓库的方法

    和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库. 使用私有仓库有许多优点: 节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可: 提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用. 现在Docker用处越来越多了,所以今天就想着搭建一个私有镜像仓库来维护内部我们自己的镜像. 环境 CentOS 7.x Docker 1.12.6 安装 docker-

  • Docker搭建Harbor公开仓库的方法示例

    上一篇博文讲到了Registry私有仓库,今天配置一下Harbor仓库,Harbor呢可以作为公开仓库,也可以作为私有仓库,今天就来配置一下Harbor如何实现公开仓库和私有仓库. 关于Registry公开仓库请访问博文:部署Docker私有仓库Registry Registry和Harbor的区别 Registry:是一个私有镜像仓库,图形化支持较差,小型企业使用: Harbor:支持可视化管理,支持私有仓库和公有仓库,支持镜像的管理控制: Docker Harbor的优点 VMWare公司的

  • Docker 使用国内镜像仓库的方法

    1.问题描述 由于某些原因,导致Docker镜像在国内下载速度特别慢.所以为了沉浸式开发.最好切换为国内源.这里以163 的镜像仓库举例.首先修改/etc/docker/daemon.json配置文件. sudo vi /etc/docker/daemon.json 将该文件内容替换为阿里源.修改后的/etc/docker/daemon.json文件为: { "registry-mirrors": ["http://hub-mirror.c.163.com"] }

  • Docker registry私有镜像仓库服务部署案例演示

    目录 简介 registry 案例演示 环境准备 服务部署 简介 docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库,仓库默认会被创建在/var/lib/registry目录下(容器中的目录) registry 案例演示 环境准备 主机名 服务 IP docker-client 客户端(用于上传镜像) 192.168.117.130 docker-server 服务端(用于存储镜像) 192.168.117.131 服务部署 docker-server 运行 regis

  • Docker搭建私有GitLab服务的方法

    目录 配置一(推荐) 配置二 进入Docker容器 配置一(推荐) 配置二 容器内重启 Linux操作系统:CentOS 8 配置一(推荐) docker pull twang2218/gitlab-ce-zh docker run -d -p 8443:443 -p 8090:80 -p 8022:22 \ --restart always \ --name gitlab \ -v /root/data/gitlab/etc:/etc/gitlab \ -v /root/data/gitlab

  • Docker Registry搭建私有镜像仓库的实现方法

    微服务的镜像会上传到Docker仓库保存,常用的公网Docker仓库有阿里云,网易云等,在企业局域网也可以搭建自己的Docker私有仓库,本教程使用Docker提供的私有仓库registry. 1.拉取私有仓库镜像 docker pull registry 2.创建启动私有仓库容器 docker run -dit -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name docker-registry reg

  • CentOS7.2服务器上搭建Docker私有镜像仓库操作示例

    本文实例讲述了CentOS7.2服务器上搭建Docker私有镜像仓库操作.分享给大家供大家参考,具体如下: 鉴于国内pull镜像的速度较慢,很有必要搭建docker私有或者本地镜像仓库. 安装docker # yum -y install docker # systemctl start docker && systemctl enable docker 使用自签名进行安全认证 创建存放证书和密钥的certs目录 # mkdir -p /docker/certs # chcon -Rt s

  • docker使用registry搭建本地镜像仓库实例详解

    目录 一.系统环境 二.前言 三.使用registry搭建私有镜像仓库 3.1 环境介绍 3.2 k8smaster节点配置镜像仓库 3.3 k8sworker1节点配置从私有仓库上传和拉取镜像 3.3.1 上传镜像到私有仓库 3.3.2 从私有仓库里拉取镜像 四.附录:删除私有仓库镜像的Python脚本 一.系统环境 服务器版本 docker软件版本 CPU架构 CentOS Linux release 7.4.1708 (Core) Docker version 20.10.12 x86_6

  • centos7系统下搭建docker本地镜像仓库的方法

    系统环境: CentOS 7.2 192.168.0.179:Docker仓库 192.168.0.60:客户端 安装并启动docker yum -y install docker systemctl start docker systemctl enable docker 搭建私有仓库 179上下载registry镜像 docker pull registry 防火墙添加运行5000端口 iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT 下载完

  • Docker搭建私有仓库之Harbor的步骤

    Harbor Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装, 它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库[注:helm就相当于k8s的yum].另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有

随机推荐