21 lines
487 B
Go
21 lines
487 B
Go
package cli
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"io"
|
|
"log"
|
|
|
|
"coopcloud.tech/abra/pkg/i18n"
|
|
dockerClient "github.com/docker/docker/client"
|
|
)
|
|
|
|
func CopyFromContainer(cl *dockerClient.Client, containerID, srcPath string) (io.ReadCloser, int64, error) {
|
|
log.Printf("%v %v", containerID, srcPath)
|
|
content, stat, err := cl.CopyFromContainer(context.Background(), containerID, srcPath)
|
|
if err != nil {
|
|
return nil, 0, errors.New(i18n.G("copy: %s", err))
|
|
}
|
|
return content, stat.Size, nil
|
|
}
|