diff --git a/internal/data/container.go b/internal/data/container.go index 02673e27..4c20065c 100644 --- a/internal/data/container.go +++ b/internal/data/container.go @@ -100,6 +100,18 @@ func (r *containerRepo) Create(req *request.ContainerCreate) (string, error) { ctx := context.Background() + // 拉取镜像 + out, err := apiClient.ImagePull(ctx, req.Name, client.ImagePullOptions{}) + if err != nil { + return "", err + } + defer func(out client.ImagePullResponse) { _ = out.Close() }(out) + + // TODO 实现流式显示拉取进度 + if err = out.Wait(ctx); err != nil { + return "", err + } + // 构建容器配置 config := &container.Config{ Image: req.Image, diff --git a/internal/data/container_image.go b/internal/data/container_image.go index f4595b62..5e9879e1 100644 --- a/internal/data/container_image.go +++ b/internal/data/container_image.go @@ -86,6 +86,7 @@ func (r *containerImageRepo) Pull(req *request.ContainerImagePull) error { } defer func(out client.ImagePullResponse) { _ = out.Close() }(out) + // TODO 实现流式显示拉取进度 return out.Wait(context.Background()) }