This commit adds the functionality to run the qemu container detached

This commit is contained in:
Scott Coulton 2018-02-15 15:09:10 +11:00
parent 2a553dc644
commit 224ade8fea

View File

@ -40,6 +40,7 @@ type QemuConfig struct {
Memory string
Accel string
Containerized bool
Detached bool
QemuBinPath string
QemuImgPath string
PublishedPorts []string
@ -162,6 +163,7 @@ func runQemu(args []string) {
// Backend configuration
qemuContainerized := flags.Bool("containerized", false, "Run qemu in a container")
qemuCmd := flags.String("qemu", "", "Path to the qemu binary (otherwise look in $PATH)")
qemuDetached := flags.Bool("detached", false, "Set qemu container to run in the background")
// Generate UUID, so that /sys/class/dmi/id/product_uuid is populated
vmUUID := uuid.New()
@ -306,6 +308,7 @@ func runQemu(args []string) {
Memory: *mem,
Accel: *accel,
Containerized: *qemuContainerized,
Detached: *qemuDetached,
QemuBinPath: *qemuCmd,
PublishedPorts: publishFlags,
NetdevConfig: netdevConfig,
@ -427,6 +430,10 @@ func runQemuContainer(config QemuConfig) error {
dockerArgs = append(dockerArgs, "--device", "/dev/kvm")
}
if config.Detached == true {
dockerArgs = append(dockerArgs, "-d")
}
if config.PublishedPorts != nil && len(config.PublishedPorts) > 0 {
forwardings, err := buildDockerForwardings(config.PublishedPorts)
if err != nil {