我想使用在容器内运行的 go 代码将压缩文件从主机复制到容器。该设置在安装了 docker.sock 的容器中运行 go 代码。这个想法是将 zip 文件从主机复制到运行 go 代码的容器。路径参数在主机上。在主机命令行看起来像这样
docker cp hostFile.zip myContainer:/tmp/
docker-client CopyToContainer的文档看起来
func (cli *Client) CopyToContainer(ctx context.Context, containerID, dstPath string, content io.Reader, options types.CopyToContainerOptions) error
如何创建content io.Reader论点?
cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
if err != nil {
panic(err)
}
// TODO
// reader := io.Reader()
// reader := file.NewReader()
// tar.NewReader()
cli.CopyToContainer(context.Background(), containerID, dst, reader, types.CopyToContainerOptions{
AllowOverwriteDirWithFile: true,
CopyUIDGID: true,
})
aluckdog
相关分类