天天看點

docker搭建私有倉庫以及使用應用場景操作步驟

應用場景

docker有公共倉庫,相當于在公共倉庫中存在着大量的鏡像資源,但是如果本地要使用這些鏡像,需要手動pull到本地,如果下次再用還需要pull,并且docker的公共倉庫是在國外的,這樣頻繁的pull一個鏡像很耗時,而且網路受限,經常容易斷掉,很麻煩。是以有兩個應對政策,第一個就是使用daocloud加速器,第二個就是本地搭建私有倉庫,當從公共倉庫中pull下來的鏡像,存到本地私有倉庫,下次還需要使用直接從本地下載下傳,那速度就快很多了。

操作步驟

1. 準備

伺服器IP位址為192.168.199.31(私有倉庫伺服器) 虛拟機名為docker1

用戶端IP位址為192.168.199.32(你們的工作機) 虛拟機名為docker2

2. 操作

2.1 安裝daocloud

由于httpd鏡像非常難下載下傳,單用docker很難成功,這裡采用docker加速器——daocloud, 通路位址 ,進行賬戶注冊,登入點開控制台,點加速器,具體操作daocloud會一步一步的引導,十分友善。Daocloud同時還可以作為docker的Web UI Manager對docker的容器,鏡像進行管理。

下面進行一步一步詳解操作步驟:

  • 2、點選立即開始,進入界面
  • 3、這裡選擇centos,因為試驗用的系統是centos7.1
  • 4、下面選安裝好了,接下來把頁面跳出的指令輸入到你所安裝docker的虛拟機上
  • 5、最終顯示接入成功,然後在本地虛拟機輸入,啟動daocloud加速器
#  service daomonit restart           

本人已經将試驗中的兩個節點加入到daocloud中:

2.2 下載下傳httpd

由于下載下傳了daocloud,隻需要用如下指令就可以下載下傳httpd鏡像了
#  dao pull httpd           

2.3 檢視images

# docker images           

2.4 查建立鏡像連結或為基礎鏡像打個标簽

# docker tag httpd 127.0.0.1:5000/httpd           

2.5 将鏡像上傳至伺服器

# docker  push  127.0.0.1:5000/httpd            

2.6 浏覽器通路私有倉庫的鏡像,多了httpd

http://192.168.199.31:5001/v1/search           
用戶端同樣可以可以看出來:
 # curl 127.0.0.1:5000/v1/search           

2.7 用戶端從私有倉庫上進行下載下傳(注:在用戶端執行)

# docker  pull  192.168.199.31:5000/httpd           

2.8 在用戶端檢視鏡像(在用戶端)

# docker  images           
完成下載下傳!

3. 從伺服器下載下傳centos7鏡像,然後安裝httpd後,建立新的模版鏡像上傳至伺服器

3.1 下載下傳centos鏡像

# dao pull centos           

3.2 為centos基礎鏡像打個标簽

檢視下載下傳後的鏡像:
 # docker images           
打标簽,并且檢視打完标簽後的鏡像名稱:
 # docker tag centos 127.0.0.1:5000/centos7           

3.3 将鏡像上傳至伺服器

# docker  push  127.0.0.1:5000/centos7           
并在後端檢視是否私有倉庫中包含了此鏡像:
指令為:
 # curl http://127.0.0.1:5000/v1/search            
同時,用浏覽器檢視私有倉庫是否包含centos7鏡像:

3.4 在用戶端下載下傳私有伺服器鏡像

# docker pull 192.168.199.31:5000/centos7           

3.5 在用戶端的鏡像中運作centos7鏡像

# docker run -i -t 192.168.199.31:5000/centos7 /bin/bash           
如圖所示:就相當于進入了centos7的另一個虛拟機一樣,操作都雷同。

3.6 在容器中安裝httpd程式

# yum   -y  install  httpd           
按ctrl+D退出,輸入docker ps -a           
此時記下,centos7的容器id為c62a3398a6e0

3.7 把安裝httpd的centos7倉庫做成新的鏡像

# docker  commit c62a3398a6e0  192.168.199.31:5000/centos7/httpd           
確定萬一,檢視是否有該鏡像:

3.8 把新的鏡像從用戶端上傳到私有倉庫中

# docker push 192.168.199.31:5000/centos7/httpd           

3.9 檢視私有倉庫中是否有該鏡像

# curl http://127.0.0.1:5000/v1/search
或者  # curl http://192.168.199.31:5000/v1/search           
浏覽器同樣也可以通路: