應用場景
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的容器,鏡像進行管理。
下面進行一步一步詳解操作步驟:
- 1、登入 http://www.daocloud.io/ 進行注冊,如下圖所示,然後點選加速器;
- 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
浏覽器同樣也可以通路: