2015-09-11 74 views
5

我試圖通過與docker 1.8發佈註冊表2.1.1發佈緩存碼頭。在CentOS7.1上,但是,我遵循這些網站,並沒有充當鏡像,任何輸入將不勝感激。我希望這是配置註冊表服務和傳遞docker守護進程參數的正確方法。碼頭拉通過緩存專用註冊表不工作

網站: https://github.com/docker/distribution/blob/master/docs/mirror.md http://docs.master.dockerproject.org/articles/registry_mirror/

步驟:

  1. 我添加參數傳遞給泊塢窗守護進程並重新啓動它:

    # /etc/sysconfig/docker 
    # 
    # Other arguments to pass to the docker daemon process 
    # These will be parsed by the sysv initscript and appended 
    # to the arguments list passed to docker -d 
    OPTIONS="--registry-mirror=http://localhost:5000" 
    
  2. 添加註冊表配置和安裝容器:

    version: 0.1 
    log: 
        fields: 
        service: registry 
    storage: 
        cache: 
         blobdescriptor: inmemory 
        filesystem: 
         rootdirectory: /var/lib/registry 
    http: 
        addr: :5000 
        headers: 
         X-Content-Type-Options: [nosniff] 
    health: 
        storagedriver: 
        enabled: true 
        interval: 10s 
        threshold: 3 
    proxy: 
        remoteurl: https://registry-1.docker.io 
    
  3. 推出註冊表容器

    docker run -d -p 5000:5000 --restart=always --name registry-mirror -v /opt/docker-registry/local/images:/var/lib/registry -v /opt/docker-registry/local/config/config.yml:/etc/docker/registry/config.yml -e STANDALONE=false -e MIRROR_SOURCE=https://registry-1.docker.io -e MIRROR_SOURCE_INDEX=https://index.docker.io registry:2.1.1 
    
  4. 通過緩存

    測試拉帶命令如下:

    隨着我的一面鏡子跑步,拉我以前沒有(使用時間拉的圖像時間)

    從配置爲MIRROR_SOURCE的碼頭集線器拉扯

    $ time docker pull busybox:latest 
    

    從本地機器上拆下圖像

    $ docker rmi busybox:latest 
    

    最後,應該重新拉從緩存中的圖像,這是不是在我的情況下工作,從搬運工樞紐,而拉來代替。

    $ time docker pull busybox:latest 
    

    我也試着在我的主機文件系統中查看掛載的圖像卷文件夾,找不到它。

    $ ls /opt/docker-registry/local/images/docker/registry/v2/repositories/ 
    

    試圖使REST API調用新的形象,而不是返回錯誤信息:

    $ curl http://localhost:5000/v2/busybox/tags/list  
        {"errors":[{"code":"NAME_UNKNOWN","message":"repository name not known to registry","detail":{"name":"busybox"}}]} 
    
+0

有沒有人找到解決這個問題的辦法? @doss。 –

回答

1

它使用的工作對我來說...

docker run -p 5000:5000 \ 
    -e STANDALONE=false \ 
    -e MIRROR_SOURCE=https://registry-1.docker.io \ 
    -e MIRROR_SOURCE_INDEX=https://index.docker.io \ 
    -e "REGISTRY_LOG_LEVEL=debug" \ 
    -e "REGISTRY_REDIRECT_DISABLE=true" \ 
    -v /var/lib/registry:/var/lib/registry \ 
    --name registry-cache-latest \ 
    registry 

..和然後將pointintg --registry-mirror指向http服務器,而不是https。

+0

看看它是版本1,而不是版本2.我讀過版本1是python中的一個實現。堅持在版本2中,我在日誌中看到的是一些錯誤的證書消息。 –