|
@@ -2,6 +2,7 @@ package native
|
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
+ "github.com/dotcloud/docker/pkg/label"
|
|
|
"github.com/dotcloud/docker/pkg/libcontainer"
|
|
|
"github.com/dotcloud/docker/runtime/execdriver"
|
|
|
"github.com/dotcloud/docker/runtime/execdriver/native/configuration"
|
|
@@ -37,6 +38,9 @@ func (d *driver) createContainer(c *execdriver.Command) (*libcontainer.Container
|
|
|
if err := d.setupMounts(container, c); err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
+ if err := d.setupLabels(container, c); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
if err := configuration.ParseConfiguration(container, d.activeContainers, c.Config["native"]); err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
@@ -94,3 +98,16 @@ func (d *driver) setupMounts(container *libcontainer.Container, c *execdriver.Co
|
|
|
}
|
|
|
return nil
|
|
|
}
|
|
|
+
|
|
|
+func (d *driver) setupLabels(container *libcontainer.Container, c *execdriver.Command) error {
|
|
|
+ labels := c.Config["label"]
|
|
|
+ if len(labels) > 0 {
|
|
|
+ process, mount, err := label.GenLabels(labels[0])
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ container.Context["mount_label"] = mount
|
|
|
+ container.Context["process_label"] = process
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|