2014-11-05 21 views
5

Trên sổ đăng ký riêng tư (myregistry.com), giả sử tôi có hình ảnh được gắn thẻ 'v1.2.3'. sau đó tôi đẩy nó bằng cách:Thêm thẻ từ xa vào hình ảnh trên docker

docker push myregistry.com/myimage:v1.2.3

Nếu tôi muốn liên kết thẻ khác, nói 'dàn', và đẩy thẻ đó để đăng ký của tôi, tôi có thể:

docker tag myregistry.com/myimage:v1.2.3 myregistry.com/myimage:staging docker push myregistry.com/myimage:staging

Mặc dù này hoạt động, docker push thứ hai vẫn chạy qua từng hình ảnh, cố gắng đẩy nó (mặc dù bỏ qua tải lên). Có cách nào tốt hơn chỉ để thêm một thẻ từ xa?

Trả lời

8

Cách bạn đã nêu, docker tag ...; docker push ... là cách tốt nhất để thêm thẻ vào hình ảnh và chia sẻ nó.

Trong ví dụ cụ thể mà bạn đã cung cấp, cả hai thẻ đều nằm trong cùng một repo (myregistry.com/myimage). Trong trường hợp này, bạn chỉ có thể docker push myregistry.com/myimage và theo mặc định, daemon docker sẽ đẩy tất cả các thẻ cho repo cùng một lúc, lưu lặp lại qua các lớp cho các lớp được chia sẻ.

Bạn cũng có thể sử dụng cùng một quy trình (docker tag ...; docker push ...) để gắn thẻ hình ảnh giữa các vị trí lưu trữ, ví dụ:

docker tag myregistry.com/myimage:v1.2.3 otherregistry.com/theirimage:v2 
docker push otherregistry.com/theirimage 
+1

nếu tôi muốn chỉ gắn thẻ 1 hình ảnh và chỉ cần nhấn một vài ảnh? ví dụ: trình docker cục bộ của tôi lưu trữ 'v.1.1',' v.1.2' và 'v.1.3'. Tôi muốn gắn thẻ 'v.1.3' với' mới nhất' và đẩy cả hai 'v.1.3' và' mới nhất 'nhưng để lại các phiên bản cũ hơn ở đâu? – gru

Các vấn đề liên quan