如何搭建docker鏡像私有倉庫

有時候使用Docker Hub這樣的公共倉庫可能不方便,用戶可以創建一個本地倉庫供私人使用。比如,基於公司內部項目構建的鏡像。docker-registry是官方提供的工具,可以用於構建私有的鏡像倉庫。

1. 安裝運行docker-registry

可以通過獲取官方registry鏡像來運行。默認情況下,倉庫會被創建在容器的/var/lib/registry目錄下。可以通過-v參數來將鏡像文件存放在本地的指定路徑。

## 運行命令
docker run --name registry -d \
-p 5000:5000 --restart=always \
-v /opt/data/registry:/var/lib/registry \
registry

## 命令解釋
--name registry:表示容器運行時的名字爲registry
-d:表示後臺運行
-p 5000:5000:表示將宿主機的5000端口映射到容器的5000端口
-v /opt/data/registry:/var/lib/registry:表示宿主機/opt/data/registry目錄映射到容器/var/lib/registry的目錄

2. 將本地一個鏡像上傳到私有倉庫

## 1) 將任意一個鏡像重命名, 以本地mynginx鏡像舉例如下:
docker tag mynginx:3.0 127.0.0.1:5000/mynginx:1.0

## 2) 查看是否存在重命名後的鏡像
docker images

## 3) 將重命名後的鏡像上傳到私有倉庫
docker push 127.0.0.1:5000/mynginx:1.0

3. 查看鏡像是否成功上傳到私有倉庫

## 命令
curl 127.0.0.1:5000/v2/_catalog

## 結果
{"repositories":["mynginx"]}

返回如上結果則表明成功,反之失敗。

4. 配置允許局域網內其他機器推送鏡像

在/etc/docker/daemon.json中寫入如下內容(如果文件不存在則新建該文件)

{
	## 鏡像加速配置
	"registry-mirror":["https://registry.docker-cn.com"],
	## 配置允許局域網內其他機器推送鏡像
	"insecure-registries":["192.168.199.241:5000"]
}

其中192.168.199.241是你安裝私有倉庫機器的局域網地址。

end
學而時習之

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章