|
@@ -9,6 +9,7 @@ import (
|
|
|
"github.com/dotcloud/docker/pkg/libcontainer/apparmor"
|
|
|
"github.com/dotcloud/docker/pkg/libcontainer/nsinit"
|
|
|
"github.com/dotcloud/docker/pkg/system"
|
|
|
+ "io"
|
|
|
"io/ioutil"
|
|
|
"log"
|
|
|
"os"
|
|
@@ -28,8 +29,7 @@ func init() {
|
|
|
execdriver.RegisterInitFunc(DriverName, func(args *execdriver.InitArgs) error {
|
|
|
var (
|
|
|
container *libcontainer.Container
|
|
|
- logger = log.New(ioutil.Discard, "[nsinit] ", log.LstdFlags)
|
|
|
- ns = nsinit.NewNsInit(&nsinit.DefaultCommandFactory{}, &nsinit.DefaultStateWriter{args.Root}, logger)
|
|
|
+ ns = nsinit.NewNsInit(&nsinit.DefaultCommandFactory{}, &nsinit.DefaultStateWriter{args.Root}, createLogger(""))
|
|
|
)
|
|
|
f, err := os.Open(filepath.Join(args.Root, "container.json"))
|
|
|
if err != nil {
|
|
@@ -87,9 +87,8 @@ func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallba
|
|
|
c: c,
|
|
|
dsw: &nsinit.DefaultStateWriter{filepath.Join(d.root, c.ID)},
|
|
|
}
|
|
|
- logger = log.New(ioutil.Discard, "[nsinit] ", log.LstdFlags)
|
|
|
- ns = nsinit.NewNsInit(factory, stateWriter, logger)
|
|
|
- args = append([]string{c.Entrypoint}, c.Arguments...)
|
|
|
+ ns = nsinit.NewNsInit(factory, stateWriter, createLogger(os.Getenv("DEBUG")))
|
|
|
+ args = append([]string{c.Entrypoint}, c.Arguments...)
|
|
|
)
|
|
|
if err := d.createContainerRoot(c.ID); err != nil {
|
|
|
return -1, err
|
|
@@ -254,3 +253,14 @@ func (d *dockerStateWriter) WritePid(pid int) error {
|
|
|
func (d *dockerStateWriter) DeletePid() error {
|
|
|
return d.dsw.DeletePid()
|
|
|
}
|
|
|
+
|
|
|
+func createLogger(debug string) *log.Logger {
|
|
|
+ var w io.Writer
|
|
|
+ // if we are in debug mode set the logger to stderr
|
|
|
+ if debug != "" {
|
|
|
+ w = os.Stderr
|
|
|
+ } else {
|
|
|
+ w = ioutil.Discard
|
|
|
+ }
|
|
|
+ return log.New(w, "[libcontainer] ", log.LstdFlags)
|
|
|
+}
|