1. 程式人生 > >docker搭建本地鏡像倉庫

docker搭建本地鏡像倉庫

busybox 一定的 運行 tar -- emctl res vim 新源

一、環境

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

Docker Hub 上的鏡像可以省略 [registry-host]:[port]

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搭建本地鏡像倉庫