私有DockerHub搭建

DockerHub配置

//參考鏈接 https://yeasy.gitbooks.io/docker_practice/content/repository/local_repo.html
$ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev
$ sudo -E pip install docker-registry//-E表示在代理下工作
$ sudo apt-get install swig
//安裝完之后,依然報(bào)錯(cuò)error:command 'swig' failed with exit status 1
// Rolling back uninstall of M2Crypto
//解決問題的方法:https://my.oschina.net/54720/blog/863329
//具體做法是 vim /usr/include/opensslconf.h 編輯36行
//注釋error行,載入opensslconf.h文件,如下圖所示。
// #include "opensslconf.h"

ubuntu
編輯/etc/hosts
10.21.4.24  lucus.com
編輯ubuntu /etc/default/docker或者Centos /etc/sysconfig/docker
DOCKER_OPTS="--insecure-registry lucus.com:5000"

//然后修改配置文件,主要修改 dev 模板段的 storage_path 到本地的存儲(chǔ)倉(cāng)庫(kù)的路徑。
$ cp config/config_sample.yml config/config.yml

//啟動(dòng)服務(wù)
$ sudo gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application
//服務(wù)啟動(dòng)成功之后,使用curl訪問本地的5000端口,看到輸出docker-registry的版本信息說明運(yùn)行成功。

image.png

驗(yàn)證本地倉(cāng)庫(kù),上傳、下載、搜索鏡像

創(chuàng)建好私有倉(cāng)庫(kù)之后,就可以使用 docker tag 來標(biāo)記一個(gè)鏡像,然后推送它到倉(cāng)庫(kù),別的機(jī)器上就可以下載下來了。例如私有倉(cāng)庫(kù)地址為 192.168.7.26:5000。

現(xiàn)在本機(jī)查看已有的鏡像

$ sudo docker images
REPOSITORY  TAG   IMAGE ID     CREATED           VIRTUAL SIZE
ubuntu     latest ba5877dc9bec 6 weeks ago         192.7 MB
ubuntu     14.04  ba5877dc9bec 6 weeks ago         192.7 MB

使用docker tag 將 ba58 這個(gè)鏡像標(biāo)記為 192.168.7.26:5000/test(格式為 docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG])。

$ sudo docker tag ba58 192.168.7.26:5000/test

使用 docker push 上傳標(biāo)記的鏡像。

$ sudo docker push 192.168.7.26:5000/test

用 curl 查看倉(cāng)庫(kù)中的鏡像。

$ curl http://192.168.7.26:5000/v1/search

這里可以看到 {"description": "", "name": "library/test"},表明鏡像已經(jīng)被成功上傳了。

現(xiàn)在可以到另外一臺(tái)機(jī)器去下載這個(gè)鏡像。

$ sudo docker pull 192.168.7.26:5000/test

刪除鏡像

 curl -X DELETE 10.21.4.39:5000/v1/repositories/鏡像名稱/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,828評(píng)論 15 147
  • 0x01 核心概念 Docker鏡像類似于虛擬機(jī)鏡像,可以理解為一個(gè)面向Docker引擎的只讀模板,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,955評(píng)論 0 9
  • 一、Docker 簡(jiǎn)介 Docker 兩個(gè)主要部件:Docker: 開源的容器虛擬化平臺(tái)Docker Hub: 用...
    R_X閱讀 4,510評(píng)論 0 27
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,525評(píng)論 19 139
  • iOS的UIViewController 類給我們提供了處理內(nèi)存不足的接口。 在iOS 3.0 之前,當(dāng)系統(tǒng)的內(nèi)存...
    Neo_帥閱讀 12,054評(píng)論 1 9

友情鏈接更多精彩內(nèi)容