搭建docker registry私有倉庫并配置用戶認(rèn)證

搭建docker registry私有倉庫并配置用戶認(rèn)證

在工作過程中,有時候會碰到需要把docker鏡像放到另外一臺機(jī)器上運(yùn)行,提交到公網(wǎng)的docker hub太慢,如果每次導(dǎo)出文件傳輸再導(dǎo)入又太麻煩,還不方便進(jìn)行版本控制、自動部署等操作。于是docker官方提供了一套簡單的實(shí)現(xiàn)方案,就是Registry鏡像。

docker-registry.png

話不多說,現(xiàn)在開始一步一步搭建私有docker倉庫。

服務(wù)器IP:192.168.1.33

  1. 首先拉取鏡像,執(zhí)行一下命令:
docker pull registry
  1. 為了讓數(shù)據(jù)持久化避免丟失,我們可以創(chuàng)建存儲卷或者直接映射到宿主機(jī)目錄。
docker create volume registry_data
docker run -d --restart always --name registry -p 5000:5000 -v registry_data:/var/lib/registry registry

或者映射到宿主機(jī):

docker run -d --restart always --name registry -p 5000:5000 -v /data/registry:/var/lib/registry registry

查看私有倉庫:

curl -XGET 127.0.0.1:5000/v2/_catalog

查看鏡像版本列表

curl -XGET 127.0.0.1:5000/v2/image_name/tags/list
  1. push鏡像到私有倉庫
docker tag myapp 192.168.1.33:5000/myapp
docker push 192.168.1.33:5000/myapp
  1. 其他機(jī)器配置連接私有倉庫

每臺機(jī)器 docker 私有倉庫配置vi /etc/docker/daemon.json寫入以下內(nèi)容:

{
    "insecure-registries": [
        "172.16.77.71:5000"
    ]
}

然后重啟docker

  1. 設(shè)置私有倉庫的用戶認(rèn)證

私有倉庫搭建以后其他所有客戶端均可以push、pull, docker官方提供認(rèn)證方法對docker倉庫進(jìn)行權(quán)限保護(hù)

刪除原啟動的docker容器

docker stop docker-hub
docker rm docker-hub

創(chuàng)建保存賬號密碼的文件

mkdir  /opt/data/auth
docker run  --entrypoint htpasswd registry -Bbn  username  userpasswd > auth/htpasswd

重新啟動容器

docker run -d -p 5000:5000 --restart=always --name registry \
    -v registry_data:/var/lib/registry \
    -v /opt/data/auth:/auth \
    -e "REGISTRY_AUTH=htpasswd" \
    -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
    -e  REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
    registry

現(xiàn)在客戶端再pull、push會提示報錯,無法提交。需要登錄私有倉庫
登錄:

docker login -u username -p userpasswd 192.168.1.33:5000

退出:

docker logout 192.168.1.33:5000

至此,一個帶認(rèn)證的docker鏡像倉庫搭建完成了。

微信、知乎、簡書、CSDN等平臺搜索“道聽真說”,點(diǎn)點(diǎn)關(guān)注不迷路!

如果本文對你有一點(diǎn)點(diǎn)幫助,請點(diǎn)個贊支持一下,謝謝啦??

近期更新文章:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容