docker搭建本地鏡像倉庫
centos 7.5
docker 18
Docker Hub 雖然很方便,但是也有一定的弊端:
1、需要鏈接互聯網,對內網環境有限制
2、傳輸速度限制,上傳下載比較慢
3、內部應用環境,上傳Hub不安全
4、安全考慮不運行鏡像放外網
解決辦法:
Docker 已經將registry進行了開源,我們可以在Docker運行自己的registry
二、搭建過程
1、獲取鏡像
shell>yum update 跟新源
shell>docker pull registry:2 下載registry:2鏡像
shell>docker image ls 查看下載的鏡像
2、運行鏡像
shell>docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry:2
-d 後臺運行
-p 將容器的短褲哦5000映射到Host的5000端口,5000端口是registry的服務端口
-v 將容器的/var/lib/registry目錄映射到Host的/myregistry,用於存放鏡像數據
--name 為運行的容器命名
shell> docker ps 查看容器是否運行成功
3、添加私庫地址
shell>vim /usr/lib/systemd/sysystem/docker.service
ExecStart= 行中加入... insecure-registry 10.10.10.10:5000
4、修改後重啟registry服務
systemctl restart docker
docker start registry容器ID //重啟registry服務
shell>docker info 查看是否添加成功
Insecure Registries:10.10.10.10:5000
三、測試
1、拉取一個測試鏡像並打tag
shell>docker pull busybox:laster
shell>docker tag busybox:latest 10.10.10.10:5000/busybox:v1
註:
repository 的完整格式為:[registry-host]:[port]/[username]/xxx
2、提交busybox到本地倉庫
shell>docker push 10.10.10.10:5000/busybox:v1
3、刪除關於busybox的鏡像
shell>docker rmi 10.10.204.38:5000/busybox:v1 busybox
shell>docker image ls 核實沒有busybox包
4、拉取busybox:v1鏡像
shell>docker pull 10.10.204.38:5000/busybox:v1
shell>docker image ls
測試完成
docker搭建本地鏡像倉庫