Browse Source

allow docker run <name>:<id>

Victor Vieux 12 năm trước cách đây
mục cha
commit
d26a3b37a6
1 tập tin đã thay đổi với 8 bổ sung2 xóa
  1. 8 2
      tags.go

+ 8 - 2
tags.go

@@ -151,14 +151,20 @@ func (store *TagStore) Get(repoName string) (Repository, error) {
 	return nil, nil
 }
 
-func (store *TagStore) GetImage(repoName, tag string) (*Image, error) {
+func (store *TagStore) GetImage(repoName, tagOrId string) (*Image, error) {
 	repo, err := store.Get(repoName)
 	if err != nil {
 		return nil, err
 	} else if repo == nil {
 		return nil, nil
 	}
-	if revision, exists := repo[tag]; exists {
+	//go through all the tags, to see if tag is in fact an ID
+	for _, revision := range repo {
+		if utils.TruncateId(revision) == tagOrId {
+			return store.graph.Get(revision)
+		}
+	}
+	if revision, exists := repo[tagOrId]; exists {
 		return store.graph.Get(revision)
 	}
 	return nil, nil