mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge remote-tracking branch 'origin/416-lxc_0_9_compatibliity-fix'
This commit is contained in:
commit
16f6daa5be
2 changed files with 19 additions and 16 deletions
27
container.go
27
container.go
|
@ -390,21 +390,26 @@ func (container *Container) Start() error {
|
||||||
params = append(params, "-u", container.Config.User)
|
params = append(params, "-u", container.Config.User)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if container.Config.Tty {
|
||||||
|
params = append(params, "-e", "TERM=xterm")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup environment
|
||||||
|
params = append(params,
|
||||||
|
"-e", "HOME=/",
|
||||||
|
"-e", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||||||
|
)
|
||||||
|
|
||||||
|
for _, elem := range container.Config.Env {
|
||||||
|
params = append(params, "-e", elem)
|
||||||
|
}
|
||||||
|
|
||||||
// Program
|
// Program
|
||||||
params = append(params, "--", container.Path)
|
params = append(params, "--", container.Path)
|
||||||
params = append(params, container.Args...)
|
params = append(params, container.Args...)
|
||||||
|
|
||||||
container.cmd = exec.Command("lxc-start", params...)
|
container.cmd = exec.Command("lxc-start", params...)
|
||||||
|
|
||||||
// Setup environment
|
|
||||||
container.cmd.Env = append(
|
|
||||||
[]string{
|
|
||||||
"HOME=/",
|
|
||||||
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
|
||||||
},
|
|
||||||
container.Config.Env...,
|
|
||||||
)
|
|
||||||
|
|
||||||
// Setup logging of stdout and stderr to disk
|
// Setup logging of stdout and stderr to disk
|
||||||
if err := container.runtime.LogToDisk(container.stdout, container.logPath("stdout")); err != nil {
|
if err := container.runtime.LogToDisk(container.stdout, container.logPath("stdout")); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -415,10 +420,6 @@ func (container *Container) Start() error {
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
if container.Config.Tty {
|
if container.Config.Tty {
|
||||||
container.cmd.Env = append(
|
|
||||||
[]string{"TERM=xterm"},
|
|
||||||
container.cmd.Env...,
|
|
||||||
)
|
|
||||||
err = container.startPty()
|
err = container.startPty()
|
||||||
} else {
|
} else {
|
||||||
err = container.start()
|
err = container.start()
|
||||||
|
|
|
@ -53,8 +53,7 @@ func changeUser(u string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear environment pollution introduced by lxc-start
|
// Clear environment pollution introduced by lxc-start
|
||||||
func cleanupEnv() {
|
func cleanupEnv(env ListOpts) {
|
||||||
env := os.Environ()
|
|
||||||
os.Clearenv()
|
os.Clearenv()
|
||||||
for _, kv := range env {
|
for _, kv := range env {
|
||||||
parts := strings.SplitN(kv, "=", 2)
|
parts := strings.SplitN(kv, "=", 2)
|
||||||
|
@ -91,10 +90,13 @@ func SysInit() {
|
||||||
var u = flag.String("u", "", "username or uid")
|
var u = flag.String("u", "", "username or uid")
|
||||||
var gw = flag.String("g", "", "gateway address")
|
var gw = flag.String("g", "", "gateway address")
|
||||||
|
|
||||||
|
var flEnv ListOpts
|
||||||
|
flag.Var(&flEnv, "e", "Set environment variables")
|
||||||
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
|
cleanupEnv(flEnv)
|
||||||
setupNetworking(*gw)
|
setupNetworking(*gw)
|
||||||
cleanupEnv()
|
|
||||||
changeUser(*u)
|
changeUser(*u)
|
||||||
executeProgram(flag.Arg(0), flag.Args())
|
executeProgram(flag.Arg(0), flag.Args())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue