container: use ImageList intead of ImageSearch

This commit is contained in:
Alan Chen 2017-08-15 14:50:56 +08:00
parent 64774b6f02
commit 36bad019e1
1 changed files with 7 additions and 3 deletions

View File

@ -28,6 +28,7 @@ import (
"github.com/docker/docker/api/types" "github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/filters"
"github.com/docker/docker/client" "github.com/docker/docker/client"
"github.com/docker/go-connections/nat" "github.com/docker/go-connections/nat"
"github.com/getamis/go-ethereum/cmd/utils" "github.com/getamis/go-ethereum/cmd/utils"
@ -73,15 +74,18 @@ type ethereum struct {
} }
func (eth *ethereum) Init(genesisFile string) error { func (eth *ethereum) Init(genesisFile string) error {
results, err := eth.client.ImageSearch(context.Background(), eth.imageName, types.ImageSearchOptions{ filters := filters.NewArgs()
Limit: 1, filters.Add("reference", eth.imageName)
images, err := eth.client.ImageList(context.Background(), types.ImageListOptions{
Filters: filters,
}) })
if err != nil { if err != nil {
log.Printf("Cannot search %s, err: %v", eth.imageName, err) log.Printf("Cannot search %s, err: %v", eth.imageName, err)
return err return err
} }
if len(results) == 0 { if len(images) == 0 {
out, err := eth.client.ImagePull(context.Background(), eth.imageName, types.ImagePullOptions{}) out, err := eth.client.ImagePull(context.Background(), eth.imageName, types.ImagePullOptions{})
if err != nil { if err != nil {
log.Printf("Cannot pull %s, err: %v", eth.imageName, err) log.Printf("Cannot pull %s, err: %v", eth.imageName, err)