Docker私有仓库Registry部署的实现_docker

来源:脚本之家  责任编辑:小易  

运行私有docker registry,就好比为docker镜像运行私有git仓库。在Ubuntu14.04上搭建私有docker registry-Linux的步骤:第一步——安装必要的软件1、在docker registry服务器上,应当创建一个拥有sudo权限的用户(如果可以,在客户机上也如此)。2、docker registry软件是一款python应用,因此为了使其能够运行起来,需要安装python开发环境以及必要的库:sudo apt-get updatesudo apt-get -y install build-essential python-dev libevent-dev python-pip liblzma-dev第二步——安装并配置docker registry1、为了安装最新的稳定的docker registry发行版,将使用python包管理工具pip:sudo pip install docker-registry2、docker-registry需要配置文件。默认地,pip将该配置文件放置在相当偏僻的地方,因系统中python的安装位置而异。因此,为了找到该路径,将尝试运行registry,以查看相关的输出:gunicorn --access-logfile - --debug -k gevent -b 0.0.0.0:5000 -w 1 docker_registry.wsgi:application3、由于配置文件不在正确的位置,上述尝试将会以失败而告终,并输出一条包含FileNotFoundError错误消息www.zgxue.com防采集请勿采集本网。

随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库。目前常用的两种仓库:公共仓库和私有仓库。最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的。

青云QingCloud日前宣布推出Docker镜像仓库服务。该服务包括Docker公有镜像仓库和Harbor私有镜像仓库,用户可以根据需求选择适合的镜像仓库方案。Docker镜像仓库的推

私有仓库最常用的就是Registry、Harbor两种,那接下来详细介绍如何搭建registry私有仓库,Harbor将在下一篇博文部署。

分支的意思即为docker中的镜像)。运行镜像类似于执行git checkout操作。 更进一步形容,运行私有docker registry,就好比为docker镜像运行私有git仓库。 第一步——安装必

一、部署Registry私有仓库

ker push rd-server:5000/ubuntu 如何将ubuntu的所有分支都镜像到自己的私有仓库? 1.先打TAG,把需要的版本打上标签,然后进行推送 语句大概是这个样子的: docker ta

案例描述

如何将ubuntu的所有分支都镜像到自己的私有仓库? 1.先打TAG,把需要的版本打上标签,然后进行推送 语句大概是这个样子的: docker tag eb601b8965b8 rd-server:5000&

两台CentOS7.4,一台为Docker私有仓库;另一台为Docker客户端,测试使用;

称为Ubuntu仓库,其中可能包括14.04,12.04等不同版本的镜像。 根据存储的镜像公开分享与否,Docker仓库分为公开仓库(Public)和私有仓库(Private)两种形式。 目前,最大的公开

两台服务器都需要安装Docker服务,请参考博文:安装Docker.v19版本

docker越来越炙手可热,如果你的团队已经准备开始使用docker, 那么私有仓库是必不可少的东西,首先是可以帮助你加快从服务器pull镜像的速度, 其次也可以帮助你存放私有

1、配置registry私有仓库

[root@centos01 ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf <!--docker宿主机开启路由功能-->[root@centos01 ~]# sysctl -p <!--刷新配置-->net.ipv4.ip_forward = 1[root@centos01 ~]# vim /etc/docker/daemon.json <!--配置镜像加速-->{"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]} <!--添加阿里云加速-->[root@centos01 ~]# systemctl reload docker <!--重新启动docker服务-->[root@centos01 ~]# docker search registry <!--查找registry镜像--><!--registry镜像可以直接先pull下来,也可以不下载,根据自己情况而定-->[root@centos01 ~]# docker run -d -p 5000:5000 --name registry --restart=always -v /opt/registry:/var/lib/registry registry <!--运行registry容器,运行registry服务存储自己的镜像--> <!--"--restart=always"参数是指此容器跟随docker服务启动而启动-->[root@centos01 ~]# docker ps <!--查看docker运行的容器-->CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa7773d77b8a3 registry "/entrypoint.sh /etc…" 50 seconds ago Up 46 seconds 0.0.0.0:5000->5000/tcp registry[root@centos01 ~]# docker images <!--查看docker所有镜像-->REPOSITORY TAG IMAGE ID CREATED SIZEregistry latest 708bc6af7e5e 3 months ago 25.8MBtomcat latest 1b6b1fe7261e 5 days ago 647MBhub.c.163.com/public/centos 6.7-tools b2ab0ed558bb 3 years ago 602MB[root@centos01 ~]# vim /etc/docker/daemon.json <!--配置docker服务支持registry服务-->{"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"],"insecure-registries":["192.168.100.10:5000"] <!--添加此行-->}[root@centos01 ~]# systemctl reload docker <!--重新启动docker服务-->

2、上传镜像到registry私有仓库

[root@centos01 ~]# docker tag hub.c.163.com/public/centos:6.7-tools 192.168.100.10:5000/image/centos:6.7 <!--修改镜像标签-->[root@centos01 ~]# docker push 192.168.100.10:5000/image/centos:6.7 <!--上传镜像到registry私有仓库-->

二、配置Docker客户端访问私有仓库

<!--客户端安装docker服务,配置镜像加速-->[root@centos02 ~]# vim /etc/docker/daemon.json <!--配置docker支持registry服务 -->{"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"],"insecure-registries":["192.168.100.10:5000"] <!--添加此行-->}[root@centos02 ~]# systemctl restart docker <!--重新启动docker服务-->[root@centos02 ~]# docker pull 192.168.100.10:5000/image/centos:6.7 <!--客户端下载私有仓库中的镜像-->[root@centos02 ~]# docker images <!--查看镜像是否下载成功-->REPOSITORY TAG IMAGE ID CREATED SIZE192.168.100.10:5000/image/centos 6.7 b2ab0ed558bb 3 years ago 602MB

至此registry私有仓库已经搭建完成,但是现在存在一个问题,如果这也部署的话企业内部所有人员皆可访问我们的私有仓库,为了安全起见,接下来为registry添加一个身份验证,只有通过了身份验证才可以上传或者下载私有仓库中的镜像。

三、配置registry加载身份验证

[root@centos01 ~]# yum -y install httpd-tools <!--安装加密工具httpd-tools-->[root@centos01 ~]# mkdir /opt/registry-auth <!--创建存放验证密钥目录-->[root@centos01 ~]# htpasswd -Bbn bob pwd@123 > /opt/registry-auth/htpasswd <!--配置registry身份验证数据库--><!--"-Bbn”参数解释:B强制密码加密;b在命令中输入密码,不提示输入密码;n不更新密钥文件--><!--删除此服务器上的所有容器,接下来重新生成一个需要身份验证的私有仓库容器-->[root@centos01 ~]# docker run -d -p 5000:5000 --restart=always \-v /opt/registry-auth/:/auth/ \-v /opt/registry:/var/lib/registry --name registry-auth -e "REGISTRY_AUTH=htpasswd" \-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry <!--重新运行一个支持身份验证的registry私有镜像仓库容器-->[root@centos01 ~]# docker tag tomcat:latest 192.168.100.10:5000/image/tomcat:1.0 <!--镜像修改标签-->[root@centos01 ~]# docker push 192.168.100.10:5000/image/tomcat:1.0 <!--测试不通过身份验证是否可以往私有仓库上传镜像-->no basic auth credentials<!--提示没有身份验证,上传不了-->[root@centos01 ~]# docker login 192.168.100.10:5000 <!--登录私有镜像仓库,通过身份验证即可上传-->Username: bob <!--输入bob-->Password: <!--输入密码-->……………… <!--此处省略部分内容-->Login Succeeded <!--已通过身份验证,此时可以上传镜像到私有仓库-->[root@centos01 ~]# docker push 192.168.100.10:5000/image/tomcat:1.0 <!--再次上传镜像到私有仓库-->The push refers to repository [192.168.100.10:5000/image/tomcat]b0ac242ce8d3: Pushed5e71d8e4cd3d: Pushedeb4497d7dab7: Pushedbfbfe00b44fc: Pushedd39111fb2602: Pushed155d997ed77c: Pushed88cfc2fcd059: Pushed760e8d95cf58: Pushed7cc1c2d7e744: Pushed8c02234b8605: Pushed1.0: digest: sha256:55b41e0290d32d6888aee2e9a15f03cc88d2f49d5ad68892c54b9527d0ed181c size: 2421[root@centos02 ~]# docker pull 192.168.100.10:5000/image/tomcat:1.0 <!--docker客户端不通过身份验证直接下载私有仓库中的镜像直接被拒绝-->Error response from daemon: Get http://192.168.100.10:5000/v2/image/tomcat/manifests/1.0: no basic auth credentials[root@centos02 ~]# docker login 192.168.100.10:5000 <!--登录私有仓库,通过身份验证-->Username: bob <!--输入bob-->Password: <!--输入密码-->Login Succeeded <!--通过身份验证-->[root@centos02 ~]# docker pull 192.168.100.10:5000/image/tomcat:1.0 <!--下载私有仓库中的镜像-->1.0: Pulling from image/tomcat376057ac6fa1: Pull complete5a63a0a859d8: Pull complete496548a8c952: Pull complete2adae3950d4d: Pull complete0a297eafb9ac: Pull complete09a4142c5c9d: Pull complete9e78d9befa39: Pull complete18f492f90b9c: Pull complete7834493ec6cd: Pull complete216b2be21722: Pull completeDigest: sha256:55b41e0290d32d6888aee2e9a15f03cc88d2f49d5ad68892c54b9527d0ed181cStatus: Downloaded newer image for 192.168.100.10:5000/image/tomcat:1.0192.168.100.10:5000/image/tomcat:1.0[root@centos02 ~]# docker images <!--查看docker客户端镜像-->REPOSITORY TAG IMAGE ID CREATED SIZE192.168.100.10:5000/image/tomcat 1.0 1b6b1fe7261e 5 days ago 647MB192.168.100.10:5000/image/centos 6.7 b2ab0ed558bb 3 years ago 602MB

到此这篇关于Docker私有仓库Registry部署的实现的文章就介绍到这了,更多相关Docker私有仓库Registry内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

本文将指导你如何搭建私有docker registry,并确保其安全性。在本教程的最后,你将亲身体验上传自制的docker镜像到私有registry,并在不同的机器上安全的将该其拉去下来。本教程不包含如何容器化应用服务的内容,而是旨在引导你去创建registry来存储你要部署的服务资源。如果你想要docker的入门教程,也许这儿可以帮到你。基于Ubuntu14.04系统的单registry和单客户机模式,本教程已经通过测试,也许在其他基于debian的发布上仍可以运行。docker概念如果在此之前你尚未接触过docker,这需要花费你几分钟的时间来熟悉docker的关键概念。如果你对docker已得心应手,只是想了解如何构建私有registry的话,那么,你可以直接进入下一小节。对于一个新手该如何使用docker,不妨试试这里优秀的docker笔记。docker的核心就是要对应用以及应用的依赖与操作系统分离。为了达到上述目的,docker采用容器与镜像机制。一个docker镜像基本上是一个文件系统的模板。当你通过docker run命令运行一个docker镜像时,该文件系统的一个实例即被激活,并且运行在系统内的docker容器之中。默认的,该容器无法触及原始镜像以及docker本身所运行在的主机的文件系统。这是一个独立的环境。对容器所做的任何改动都将保存在容器本身之内,并不会影响原始的镜像。如果想保留这些改动,那么,可以通过docker commit命令将容器保存为镜像。这意味你可以通过原有的容器来衍生出新的容器,而不会对原始容器(或镜像)造成任何影响。如果你熟悉git,那么你会觉得该流程十分眼熟:从任意的容器上去创建新的分支(这里,分支的意思即为docker中的镜像)。运行镜像类似于执行git checkout操作。更进一步形容,运行私有docker registry,就好比为docker镜像运行私有git仓库。第一步——安装必要的软件在docker registry服务器上,应当创建一个拥有sudo权限的用户(如果可以,在客户机上也如此)。docker registry软件是一款python应用,因此为了使其能够运行起来,需要安装python开发环境以及必要的库:sudo apt-get updatesudo apt-get -y install build-essential python-dev libevent-dev python-pip liblzma-dev第二步——安装并配置docker registry为了安装最新的稳定的docker registry发行版(作者撰文时为0.7.3,译者译时为0.9.1),我们将使用python包管理工具pip:sudo pip install docker-registrydocker-registry需要配置文件。默认地,pip将该配置文件放置在相当偏僻的地方,因系统中python的安装位置而异。因此,为了找到该路径,我们将尝试运行registry,以查看相关的输出:gunicorn --access-logfile - --debug -k gevent -b 0.0.0.0:5000 -w 1 docker_registry.wsgi:application由于配置文件不在正确的位置,上述尝试将会以失败而告终,并输出一条包含FileNotFoundError错误消息,如下所示[在某些版本中,无下述信内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • docker搭建私有仓库(registry与harbor)的实现
  • docker 查询或获取私有仓库(registry)中的镜像的方法
  • docker 搭建私有仓库(registry、harbor)
  • 详解ubuntu docker registry 搭建私有仓库
  • 详解docker私有仓库registry的搭建验证
  • 使用docker registry镜像创建私有仓库的方法
  • docker registry 私有仓库搭建详细步骤
  • 构建一个简单的caas系统
  • docker多阶段镜像构建的实现
  • 一次centos docker网桥模式无法访问宿主机redis服务的故障排除经
  • 如何删除docker-register镜像及none无效镜像详解
  • docker-compose 详解及示例代码
  • docker容器中crontab无法正常运行解决方案
  • centos7 nexus安装步骤详细介绍
  • docker使用的个人学习总结
  • 谷歌技术人员解决docker镜像体积太大问题的方法
  • centos6使用docker部署redis主从数据库操作示例
  • 如何在Ubuntu14.04上搭建私有docker registry-Linux
  • 如何在Ubuntu14.04上搭建私有docker registry-Linux
  • docker仓库的镜像怎么删除
  • 如何从docker将image镜像到私有的registry
  • 拿容器做平台?QingCloud推出Docker镜像仓库
  • 如何在Ubuntu14.04上搭建私有docker registry-Linux
  • 如何从docker将image镜像到私有的registry
  • 如何从docker将image镜像到私有的registry
  • 什么是docker镜像,容器和仓库
  • docker删不掉镜像,怎么办
  • 怎么配置docker从daocloud拉取镜像
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云计算技术云其它首页服务器云和虚拟化dockerdocker搭建私有仓库(registry与harbor)的实现docker 查询或获取私有仓库(registry)中的镜像的方法docker 搭建私有仓库(registry、harbor)详解ubuntu docker registry 搭建私有仓库详解docker私有仓库registry的搭建验证使用docker registry镜像创建私有仓库的方法docker registry 私有仓库搭建详细步骤构建一个简单的caas系统docker多阶段镜像构建的实现一次centos docker网桥模式无法访问宿主机redis服务的故障排除经如何删除docker-register镜像及none无效镜像详解docker-compose 详解及示例代码docker容器中crontab无法正常运行解决方案centos7 nexus安装步骤详细介绍docker使用的个人学习总结谷歌技术人员解决docker镜像体积太大问题的方法centos6使用docker部署redis主从数据库操作示例docker 给运行中的容器设置端口映docker 清理命令集锦docker获取镜像报错docker: erroubuntu14.04+docker的安装及使用docker.service启动失败:unit ndocker容器如何优雅的终止详解浅谈docker-compose网络设置之necentos7 安装docker 解决启动不了详解docker国内镜像拉取和镜像加docker如何固定ip设置的方法mac下安装docker教程详解docker中dockerfile指令创建镜像jenkins中通过publish over ssh插件将项目docker 实现在线集成开发环境实例详解docker 清理命令集锦docker仓库常用命令详解docker容器无法stop的解决办法浅析docker-compose部署mysql无法访问的问docker在ubuntu14.04下的安装步骤docker下搭建一个java tomcat运行环境的方
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved