1. 程式人生 > >使用Docker registry映象建立私有倉庫

使用Docker registry映象建立私有倉庫

2015-01-25 wcdj

摘要:安裝Docker後,可以通過官方提供的registry映象來簡單搭建一套本地私有倉庫環境,本文記錄簡單的搭建過程。

1 使用registry啟動私有倉庫的容器

docker run -d -p 5000:5000 -v /root/my_registry:/tmp/registry registry
說明:若之前沒有安裝registry容器則會自動下載並啟動一個registry容器,建立本地的私有倉庫服務。預設情況下,會將倉庫建立在容器的/tmp/registry目錄下,可以通過 -v 引數來將映象檔案存放在本地的指定路徑上(例如,放在本地目錄/root/my_registry下)。

2 向私有倉庫push映象

docker push 104.131.173.242:5000/ubuntu_sshd_gcc_gerry:14.04
說明:根據第一步啟動的registry容器所在宿主主機的IP和Port,push某環境的本地容器。

[email protected]:~# docker push 104.131.173.242:5000/ubuntu_sshd_gcc_gerry:14.04
The push refers to a repository [104.131.173.242:5000/ubuntu_sshd_gcc_gerry] (len: 1)
Sending image list
Pushing repository 104.131.173.242:5000/ubuntu_sshd_gcc_gerry (1 tags)
511136ea3c5a: Image successfully pushed
3b363fd9d7da: Image successfully pushed
607c5d1cca71: Image successfully pushed
f62feddc05dc: Image successfully pushed
8eaa4ff06b53: Image successfully pushed
894c0161121f: Image successfully pushed
a45787b0222f: Image successfully pushed
f0e3262ed661: Image successfully pushed
Pushing tag for rev [f0e3262ed661] on {http://104.131.173.242:5000/v1/repositories/ubuntu_sshd_gcc_gerry/tags/14.04}

宿主主機my_registry的目錄結構

[email protected]:~/my_registry# tree
.
├── images
│   ├── 3b363fd9d7dab4db9591058a3f43e806f6fa6f7e2744b63b2df4b84eadb0685a
│   │   ├── ancestry
│   │   ├── _checksum
│   │   ├── json
│   │   └── layer
│   ├── 511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158
│   │   ├── ancestry
│   │   ├── _checksum
│   │   ├── json
│   │   └── layer
│   ├── 607c5d1cca71dd3b6c04327c3903363079b72ab3e5e4289d74fb00a9ac7ec2aa
│   │   ├── ancestry
│   │   ├── _checksum
│   │   ├── json
│   │   └── layer
│   ├── 894c0161121f105ac9b81bca7ac583ac1f29772625911db0fa2b6b475f5642fd
│   │   ├── ancestry
│   │   ├── _checksum
│   │   ├── json
│   │   └── layer
│   ├── 8eaa4ff06b53ff7730c4d7a7e21b4426a4b46dee064ca2d5d90d757dc7ea040a
│   │   ├── ancestry
│   │   ├── _checksum
│   │   ├── json
│   │   └── layer
│   ├── a45787b0222f955d68d9db34fb18033144b8a78015d9e306a1613894da0fd86e
│   │   ├── ancestry
│   │   ├── _checksum
│   │   ├── json
│   │   └── layer
│   ├── f0e3262ed6617896b306852c923e4c0e1d359b58b29a02ef849c4b8978c73c65
│   │   ├── ancestry
│   │   ├── _checksum
│   │   ├── json
│   │   └── layer
│   └── f62feddc05dc67da9b725361f97d7ae72a32e355ce1585f9a60d090289120f73
│       ├── ancestry
│       ├── _checksum
│       ├── json
│       └── layer
└── repositories
    └── library
        └── ubuntu_sshd_gcc_gerry
            ├── _index_images
            ├── tag_14.04
            └── tag14.04_json

12 directories, 35 files

關於https的問題

[email protected]:~# docker push 104.131.173.242:5000/ubuntu_sshd_gcc_gerry:14.04
FATA[0002] Error: Invalid registry endpoint https://104.131.173.242:5000/v1/: Get https://104.131.173.242:5000/v1/_ping: EOF. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 104.131.173.242:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/104.131.173.242:5000/ca.crt 
解決方法:
修改Docker配置檔案
vim /etc/default/docker
增加以下一行
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=104.131.173.242:5000"
重啟Docker
sudo service docker restart
refer: http://dockerone.com/question/21

3 私有倉庫查詢方法

curl http://104.131.173.242:5000/v1/search
說明:使用curl檢視倉庫104.131.173.242:5000中的映象。在結果中可以檢視到ubuntu_sshd_gcc_gerry,說明已經上傳成功了。

[email protected]:personal_repository$curl http://104.131.173.242:5000/v1/search
{"num_results": 0, "query": "", "results": []}
[email protected]:personal_repository$curl http://104.131.173.242:5000/v1/search
{"num_results": 1, "query": "", "results": [{"description": "", "name": "library/ubuntu_sshd_gcc_gerry"}]}

4 在其他的機器上訪問和下載私有倉庫的映象

docker pull 104.131.173.242:5000/ubuntu_sshd_gcc_gerry:14.04

[email protected]:~# docker pull 104.131.173.242:5000/ubuntu_sshd_gcc_gerry:14.04
Pulling repository 104.131.173.242:5000/ubuntu_sshd_gcc_gerry
f0e3262ed661: Download complete 
511136ea3c5a: Download complete 
3b363fd9d7da: Download complete 
607c5d1cca71: Download complete 
f62feddc05dc: Download complete 
8eaa4ff06b53: Download complete 
894c0161121f: Download complete 
a45787b0222f: Download complete 
Status: Image is up to date for 104.131.173.242:5000/ubuntu_sshd_gcc_gerry:14.04



參考

[1] Docker技術入門與實踐

相關推薦

使用Docker registry映象建立私有倉庫

2015-01-25 wcdj 摘要:安裝Docker後,可以通過官方提供的registry映象來簡單搭建一套本地私有倉庫環境,本文記錄簡單的搭建過程。 1 使用registry啟動私有倉庫的容器 docker run -d -p 5000:5000 -v /root/m

docker for mac 建立私有倉庫

拉取映象 docker pull registry 執行registry run -d -p 5000:5000 -v /Users/huangenai/docker/registry:/var/lib/registry registry -d後臺執行   

docker 建立私有倉庫-registry

###設定私有倉庫 registry 一、建立docker 1.設定防火牆 iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT  2. 新增軟體源資訊 sudo yum install -y yum-utils device-ma

Docker建立私有倉庫, 檢視私有倉庫映象, 方便本地共享

網上教程真心很多, 但感覺亂七八糟的. 還是自己寫好, 以後再用也方便. 不多廢話了. 1. 拉取registry sudo docker pull registry:2 2. 建立私有倉庫的容器

Docker鏡像創建及建立私有倉庫

tar.gz 分別是 system ffffff .tar.gz 通過 用戶 apache -o Docker鏡像創建方法 創建鏡像的方法有三種,分別是基於已有的鏡像創建、基於本地模板創建、基於Dockerfile 創建,下面著重介紹這三種創建鏡像的方法。 ? 基於已有鏡像

docker建立私有倉庫

倉庫(Repository)是集中存放映象的地方。一個容易混淆的概念是註冊伺服器(Registry)。實際上註冊伺服器是管理倉庫的具體服務 器,每個伺服器上可以有多個倉庫,而每個倉庫下面有多個映象。從這方面來說,倉庫可以 被認為是一個具體的專案或目錄。例如對於倉庫地址 docker.sina.com.c

Docker容器學習梳理--私有倉庫Registry使用

但有時候使用Docker Hub這樣的公共倉庫可能不方便,這種情況下使用者可以使用registry建立一個本地倉庫供私人使用,這點跟Maven的管理類似。 使用私有倉庫有許多優點: 1 2 1)節省網路頻寬,針對於每個映象不用每個人

Docker基礎-搭建本地私有倉庫

ubuntu acf docker倉庫 rep repo ref yun osi 重啟 1、使用registry鏡像創建私有倉庫   安裝Docker後,可以通過官方提供的registry鏡像來簡單搭建一套本地私有倉庫環境: docker run -d -p 5000:5

Docker中創建私有倉庫

pro 主機 ddd test 創建 可能 ef7 refers 分享圖片 倉庫簡介 隨著創建的鏡像日益增多,就需要有一個保存鏡像的地方,這就是倉庫。目前有兩種倉庫:公共倉庫和私有倉庫。最方便的就是使用公共倉庫上傳和下載鏡像,下載公共倉庫中的鏡像不需要註冊,但上傳鏡像到公共

docker筆記之管理私有倉庫

上傳映象到私有倉庫 將映象打一個標籤 [[email protected] ~]# docker tag wordpress:v1 10.0.0.205:5000/wordpress:v1 [[email protected] ~]# docker im

docker筆記之搭建私有倉庫

下載官方提供的用於搭建私有映象的registry映象 [[email protected] ~]# docker pull registry Using default tag: latest latest: Pulling from library/registry

docker配置及連線私有倉庫(registry2)

本教程使用作業系統 CentOS7 . docker安裝配置 如果本機還未安裝docker,可通過以下方式快捷安裝(為了最大程度保證一致性,此處指定版本): yum -y install docker-1.12.6-28.git1398f24.el7.cento

Docker 離線安裝 & 離線私有倉庫搭建總結

一、前提 docker,這邊我不想說太多了,相信大家也都瞭解了。但是由於網路限制等因素。因此想要將原先外網部署的docker環境拉倒內網部署。這邊簡要說下步驟吧!  二、離線獲取docker所有RPM包 1、安裝mini版本的centos 7環境 新環境主要是

Cocoapods詳解之---建立私有倉庫

一、概述 CocoaPods是iOS,Mac下優秀的第三方包管理工具,類似於java的maven,給我們專案管理帶來了極大的方便。個人或公司在開發過程中,會積累很多可以複用的程式碼包,有些我們不想開源,又想像開源庫一樣在CocoaPods中管理它們,那麼通過

Linux系統--CentOS7下Mysql(docker映象建立,使用者,表以及資料初始化

1.docker下載(環境為centos7)yum install docker-engine2.下載完成後啟動docker使用命令:service docker start3.為docker下載映象提速curl -sSL https://get.daocloud.io/da

Dokcer建立私有倉庫私有倉庫Web管理

1、直接用Docker提供的映象registry執行私有倉庫 # docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry --name registry --restart='always' re

docker registry 映象刪除

registry:2.5.0版本的映象,將映象預設存放在了/var/lib/registry 目錄下 /var/lib/registry/docker/registry/v2/repositories/ 目錄下會有幾個資料夾,命名是已經上傳了的映象的名稱。

重大好訊息:GitHub可以免費建立私有倉庫

GitHub可以免費無限制的建立私有倉庫   今天一早看到的訊息,這個真對於程式設計師來說真的重大好訊息         GitHub專案本身自然而然的也在GitHub上進行託管,只不過在一個私 有的,公共檢視不

docker一個映象建立多例項啟動多個容器分配不同的埠號,達到高可用的目的

   利用一個映象去建立多個微服務例項,實現擴充套件服務的目的,主要難點是利用配置檔案分別啟動不同的例項,剛開始沒有搞清楚配置檔案和容器啟動的關係,被坑了很長時間程式碼其實很簡單,就是一個註冊服務中心,以開發環境配置檔案建立服務註冊中心,以測試環境配置服務註冊中心,使兩個服務

基於centos7 + jenkins + docker + svn + 阿里雲私有倉庫構建持續整合環境

前提準備 本文件的所有操作都是基於root使用者,非root使用者請新增sudo命令。 Centos7 預設已完成網路配置以及完成依賴跟新 # yum update 安裝Docker 下載Docker # yum install -