一、環境以及準備工作
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