Tôi đang gặp rắc rối kéo hình ảnh đẩy lên một registry cá nhân và nhận được:"tag mới nhất không tìm thấy" trên Docker pull với registry tin
Tag mới nhất không tìm thấy trong kho lưu trữ
Tôi đang sử dụng container registry mặc định được cung cấp bởi Docker:
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry latest 7e2db37c6564 8 days ago 411.6 MB
janos/wheezy latest 900e813f1fd9 11 months ago 218.6 MB
là một thử nghiệm, chúng ta hãy nói rằng tôi muốn có một phiên bản địa phương của khò khè:
# docker tag janos/wheezy staging-docker.mysite.nl/myself/wheezy
# docker push staging-docker.mysite.nl/myself/wheezy
The push refers to a repository [staging-docker.mysite.nl/myself/wheezy] (len: 1)
Sending image list
Pushing repository staging-docker.mysite.nl/myself/wheezy (1 tags)
7af801e4faa1: Pushing [==================================================>] 226.3 MB/226.3 MB
2014/11/21 16:06:38
Hình ảnh dường như có mặt ở đó:
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry latest 7e2db37c6564 8 days ago 411.6 MB
staging-docker.mysite.nl/myself/wheezy latest 900e813f1fd9 11 months ago 218.6 MB
janos/wheezy latest 900e813f1fd9 11 months ago 218.6 MB
Và tại địa phương tôi có thể bắt đầu nó:
# docker run -i -t staging-docker.mysite.nl/myself/wheezy /bin/bash
[email protected]:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin selinux srv sys tmp usr var
[email protected]:/# exit
Nhưng khi cố gắng chạy hoặc kéo nó từ máy chủ khác, tôi nhận được "Tag mới nhất không tìm thấy "
# docker pull staging-docker.mysite.nl/myself/wheezy
Pulling repository staging-docker.mysite.nl/myself/wheezy
2014/11/21 16:08:15 Tag latest not found in repository staging-docker.mysite.nl/myself/wheezy
Thêm rõ ràng" mới nhất "không hữu ích. Lỗi tương tự.
tôi có thể thấy các cuộc gọi đến đăng ký, vì vậy tôi không inadvertedly sử dụng khác:
172.17.42.1 - - [21/Nov/2014:15:08:15 +0000] "GET /v1/_ping HTTP/1.0" 200 1439 "-" "Go 1.1 package http"
172.17.42.1 - - [21/Nov/2014:15:08:15 +0000] "GET /v1/_ping HTTP/1.0" 200 1439 "-" "Go 1.1 package http"
21/Nov/2014:15:08:15 +0000 DEBUG: args = {'namespace': u'myself', 'repository': u'wheezy'}
172.17.42.1 - - [21/Nov/2014:15:08:15 +0000] "GET /v1/repositories/myself/wheezy/images HTTP/1.0" 200 164 "-" "docker/1.3.1 go/go1.3.3 git-commit/4e9bbfa kernel/3.16.0-0.bpo.2-amd64 os/linux arch/amd64"
21/Nov/2014:15:08:15 +0000 DEBUG: args = {'namespace': u'myself', 'repository': u'wheezy'}
21/Nov/2014:15:08:15 +0000 DEBUG: [get_tags] namespace=myself; repository=wheezy
172.17.42.1 - - [21/Nov/2014:15:08:15 +0000] "GET /v1/repositories/myself/wheezy/tags HTTP/1.0" 200 2 "-" "docker/1.3.1 go/go1.3.3 git-commit/4e9bbfa kernel/3.16.0-0.bpo.2-amd64 os/linux arch/amd64"
Và khi kiểm tra các thẻ của hình ảnh bằng tay, họ có thực sự trống rỗng:
# curl -k https://staging-docker.mysite.nl/v1/repositories/myself/wheezy/tags
{}
Câu hỏi 1: làm thế nào mà nó là trống ở nơi đầu tiên, kể từ Docker luôn luôn sử dụng mới nhất ...
Câu hỏi 2: nếu bằng cách nào đó mọi thứ trở nên rối loạn và thẻ mới nhất thực sự biến mất, làm sao tôi vẫn có thể bắt đầu nó lên cục bộ?
phiên bản Docker đều giống nhau trên cả hai máy chủ:
# docker version
Client version: 1.3.1
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): 4e9bbfa
OS/Arch (client): linux/amd64
Server version: 1.3.1
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): 4e9bbfa
Thẻ mới nhất vẫn còn đó, vấn đề là với sổ đăng ký từ xa. Bạn có thể thử chạy một địa phương? ('docker run -p5000: 5000 registry') và cố gắng đẩy/kéo từ nó? ('docker tag mình/wheezy 127.0.0.1 sugg000/myself/wheezy && docker push 127.0.0.1: 5000/bản thân/wheezy') để xem nó có hoạt động hay không. – creack
bạn nói đúng. Điều đó đã làm việc (đã phải sử dụng --insecure-kho) nhưng tôi vẫn còn mơ hồ những gì đã đi sai trong lần đầu tiên. Điều duy nhất tôi có thể tưởng tượng là tôi đã không thay đổi bất cứ điều gì trong hình ảnh cơ bản (janos/wheezy) trước khi gắn thẻ lại một lần nữa như bản thân mình/wheezy. Lần này tôi đã * thay đổi nó (một lần chạm đơn giản TEST_REPO trong thư mục gốc) trước khi cam kết hình ảnh và sau đó gắn thẻ nó, và nó hoạt động tốt. Đoán tôi vẫn còn mơ hồ về logic gắn thẻ. Cảm ơn! – Hans
Đây là cũ và gần như chắc chắn không phải là một vấn đề nữa, nhưng tôi chỉ có vấn đề này sau khi chuyển đổi một repo từ công chúng sang tư nhân. Đăng nhập lại trên dòng lệnh đã giải quyết nó cho tôi. – MyCompassSpins