docker私有倉庫搭建

一、目的

  • 節省寬帶,提升下載速率。
  • 安全性,並不是全部的鏡像均可以公開,公司項目須要保密。

二、搭建registry

2.1 下載鏡像registry

docker pull registry

2.2 啓動容器

docker run -d -p 5000:5000 --restart=always --name=registry-srv -v /mydata/dockerRegistry:/var/lib/registry registry

-d:後臺運行
-p:將容器的5000端口映射到宿主機的5000端口
--restart:docker服務重啓後老是重啓此容器
--name:容器的名稱
-v:將容器內的/var/lib/registry映射到宿主機的/mydata/dockerRegistry目錄web

三、web服務

    經過網頁可看到有多少鏡像。docker

3.1 下載鏡像

docker pull hyper/docker-registry-web

3.2 啓動容器

docker run -it -p 8080:8080 --restart=always --name registry-web --link registry-srv -e REGISTRY_URL=http://registry-srv:5000/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web

-it: 以交互模式運行
--link:連接其它容器(registry-srv),在此容器中,使用registry-srv等同於registry-srv容器的局域網地址
-e:設置環境變量json

四、上傳本地鏡像到私有倉庫

    經過docker images查看本地的鏡像安全

4.1 使用tag命令修改標籤

docker tag ybw/docker-test localhost:5000/ybw/docker-test

4.2 推送到倉庫

docker push localhost:5000/ybw/docker-test

    注意:spa

    推送失敗報錯:rest

The push refers to a repository [ip:5000/ybwei/docker-test]
Get https://ip:5000/v2/: http: server gave HTTP response to HTTPS client

    解決辦法:code

    在」/etc/docker/「目錄下,建立」daemon.json「文件。在文件中寫入:server

{
    "insecure-registries": [
        "localhost:5000"
    ]
}
//多個私服寫法,逗號分隔便可
{
    "insecure-registries": [
        "localhost:5000", 
        "hub.docker.jiankunking.io:5000"
    ]
}
相關文章
相關標籤/搜索