Docker 建立 Private Repositories

 

 

  前言python

    基于GFW的缘故,国内大陆基本没法pull国外的镜像,更别说官方的index了。若是images没法pull下来,那么docker就失去了存在的意义,就更别提国内广大程序猿为docker而献身奋斗了。因此基于此,笔者认为有必要国内用户自行搭建一个Private Repositories。一方面为了更好的研究,使用Docker。另外一方面也是为了节省pull和push的时间,要否则动不动就是几十分钟的耗时,谁能承担起这些时间成本。最后一点,也是为了能够更好的管理images,毕竟国内很过公司出于各类目的仍是不但愿公开这些images。git

    因此基于此,建立一个Private Repository就显得尤其必要了。docker

  步骤服务器

  方法一:app

    最简单的方法莫过于直接pull下来,docker官网提供的registry镜像了。可是须要说明的是官网目前提供的最新版本不稳定,有bug(笔者目前看到的最新版本为0.8.1,全部版本能够在https://registry.hub.docker.com/_/registry/tags/manage/查看)。并且下面各国网友也反映了,0.8.1的确存在问题。所以,笔者通过屡次评测,选取了最稳定的0.7.1版本。ui

    执行如下命令既可完成private repository的建立:debug

docker run -d -p 5000:5000 --name registry registry:0.7.1

  方法二:ip

    使用git上面的源码进行建立。rem

    首先登录到docker在git上面的源码页面,https://registry.hub.docker.com/_/registry/ 。get

    由于目前最新的0.8.1版本存在bug,所以咱们须要tag为0.7.1的版本。在页面上部选择tag 0.7.1便可。

    考虑到国内的网速,因此建议直接下载zip压缩包。在页面右侧,选择Download ZIP。把0.7.1版本下载下来。

    将ZIP压缩包上传到服务器(推荐使用Ubuntu),解压后即为Docker 源码。

    咱们下面的步骤是安装registry到本地服务器上,你也能够选择将source build成image,而后执行image。

    安装registry到本地服务器的步骤:

    Install the system requirements for building a Python library:

sudo apt-get install build-essential python-dev libevent-dev python-pip liblzma-dev

    Then install the Registry app:

sudo pip install docker-registry

    等待安装完成后,执行命令开始运行registry:

gunicorn --access-logfile - --debug -k gevent -b 0.0.0.0:5000 -w 1 docker_registry.wsgi:application

  方法三:

    一样基于git的源码,咱们build成image,而后执行这个image。

    在docker_registry目录里面:

docker build -t registry .

    build执行完以后,一样执行:

docker run -d -p 5000:5000 registry

  总结

    方法一和方法三,均须要download 国外的一些images,所以国内的使用存在局限性。而方法二,彻底不依赖国外数据,但须要一些docker操做基础和git操做基础。

    你们在使用时,就须要考虑实际状况来选择安装方式了。

相关文章
相关标签/搜索