docker學習之搭建自己的本地鏡像倉庫

一、環境以及準備工作

1.ubuntu14.04

2.docker環境


二、搭建過程

1.更換鏡像源(因爲默認的太慢了,國內的更快)

sudo vim /etc/default/docker
輸入以下參數:
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com" //網易的,也可以使用daoClouds的

如果是剛安裝的ubuntu環境的話,執行以下命令(當然也能用vi,或者直接寫入)

sudo apt-get update   //更新apt-get源,防止下載出錯
sudo apt-get install vim -y //下載vim

2.啓動docker並拉取registry鏡像源

sudo service docker start  //啓動docker
sudo docker pull registry  //下載registry鏡像

3.下載好後查看是否下載成功

sudo docker images

4.下載後以後啓動該容器,可以將容器內的數據映射掛載在自己指定的目錄上,這裏以/opt/data/registry爲宿主機存儲的目錄

mkdir -p /opt/data/registry  //創建目錄
sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry 
      --name private_registry registry  //啓動容器
-d : 讓容器可以後臺運行
-p :指定映射端口(前者是宿主機的端口號,後者是容器的端口號)
-v :數據掛載(前者是宿主機的目錄,後者是容器的目錄)
--name : 爲運行的容器命名


然後查看是否成功啓動該容器

sudo docker ps


5.查看宿主機的ip地址

ifconfig 


6.更改docker的配置文件,添加自己的私庫地址,docker啓動時會加載/etc/init/docker.conf,看完該配置文件,發現其會加載/etc/default/docker文件,因此只需要將私庫地址寫入/etc/default/docker中即可

sudo vim /etc/default/docker
在DOCKER_OPTS更改成如下:
DOCKER_OPTS="--registry-mirror=http://hub-mirror.c.163.com --insecure-registry 192.168.147.129:5000"
**5000端口一定得加,宿主機默認是訪問80端口,不想加的話可以在啓動容器的時候以宿主機的80端口
映射容器的5000端口

修改以後重啓容器並開啓registry服務

sudo service docker restart   //重啓容器
sudo docker start private_registry   //重啓registry服務

以上五個步驟就搭建好了一個私庫了.


三、測試

1.拉取一個鏡像並打tag(以busybox爲例,因爲busybox比較小)

sudo docker pull busybox:latest   //拉取鏡像
sudo docker tag busybox:latest 192.168.147.129:5000/busybox

2.提交tag鏡像到自己的本地鏡像倉庫

sudo docker push 192.168.147.129:5000/busybox

3.刪除所有的關於busybox鏡像並查看

sudo docker rmi busybox 192.168.147.129:5000/busybox  //刪除busybox鏡像
sudo docker images //查看是否還有busybox鏡像的信息

4.從本地鏡像倉庫pull busybox鏡像並查看

sudo docker pull 192.168.147.129:5000/busybox
sudo docker images //查看192.168.147.129:5000/busybox鏡像的信息


以上表示拉取成功了


四、反思與改進

1.以上本地倉庫只要在同一個網絡中就能訪問

2.如何去更加方便的管理本地倉庫,這個值得去思考

3.以上方式並沒做身份驗證,如何做身份驗證也值得思考


如果對文章有疑問或者哪裏不懂的請聯繫我,在力所能及的範圍內幫助解答;如果文章有錯誤,也歡迎指出。

微信號:crazy_boy-smile

知乎鏈接:https://zhuanlan.zhihu.com/p/38533762
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章