Skip to content
This repository was archived by the owner on Feb 27, 2018. It is now read-only.

Commit 781cb9d

Browse files
author
Isaac Boehman
committed
Adds helper to copy a specified disk image for the persistent partition
Docker-DCO-1.1-Signed-off-by: Isaac Boehman <admin@yacn.pw> (github: yacn)
1 parent 980b5ab commit 781cb9d

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

vbm.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package main
33
import (
44
"bytes"
55
"os"
6+
"io"
67
"path/filepath"
78

89
vbx "github.com/boot2docker/boot2docker-cli/virtualbox"
@@ -66,6 +67,35 @@ func getHostOnlyNetworkInterface() (string, error) {
6667
return hostonlyNet.Name, nil
6768
}
6869

70+
// Copy disk image from given source path to destination
71+
func copyDiskImage(dst, src string) error {
72+
// Open source disk image
73+
srcImg, err := os.Open(src)
74+
if err != nil {
75+
return err
76+
}
77+
closeSrcImg := func() error {
78+
if err := srcImg.Close(); err != nil {
79+
return err
80+
}
81+
return err
82+
}
83+
defer closeSrcImg()
84+
dstImg, err := os.Create(dst)
85+
if err != nil {
86+
return err
87+
}
88+
closeDstImg := func () error {
89+
if err := dstImg.Close(); err != nil {
90+
return err
91+
}
92+
return err
93+
}
94+
defer closeDstImg()
95+
_, err = io.Copy(dstImg, srcImg)
96+
return err
97+
}
98+
6999
// Make a boot2docker VM disk image with the given size (in MB).
70100
func makeDiskImage(dest string, size uint) error {
71101
// Create the dest dir.

0 commit comments

Comments
 (0)