|
@@ -1,33 +1,16 @@
|
|
|
package sysinit
|
|
|
|
|
|
import (
|
|
|
- "encoding/json"
|
|
|
"flag"
|
|
|
"fmt"
|
|
|
"github.com/dotcloud/docker/execdriver"
|
|
|
_ "github.com/dotcloud/docker/execdriver/lxc"
|
|
|
_ "github.com/dotcloud/docker/execdriver/native"
|
|
|
- "io/ioutil"
|
|
|
"log"
|
|
|
"os"
|
|
|
- "strings"
|
|
|
)
|
|
|
|
|
|
-// Clear environment pollution introduced by lxc-start
|
|
|
-func setupEnv(args *execdriver.InitArgs) {
|
|
|
- os.Clearenv()
|
|
|
- for _, kv := range args.Env {
|
|
|
- parts := strings.SplitN(kv, "=", 2)
|
|
|
- if len(parts) == 1 {
|
|
|
- parts = append(parts, "")
|
|
|
- }
|
|
|
- os.Setenv(parts[0], parts[1])
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
func executeProgram(args *execdriver.InitArgs) error {
|
|
|
- setupEnv(args)
|
|
|
-
|
|
|
dockerInitFct, err := execdriver.GetInitFunc(args.Driver)
|
|
|
if err != nil {
|
|
|
panic(err)
|
|
@@ -59,25 +42,12 @@ func SysInit() {
|
|
|
)
|
|
|
flag.Parse()
|
|
|
|
|
|
- // Get env
|
|
|
- var env []string
|
|
|
- content, err := ioutil.ReadFile(".dockerenv")
|
|
|
- if err != nil {
|
|
|
- log.Fatalf("Unable to load environment variables: %v", err)
|
|
|
- }
|
|
|
- if err := json.Unmarshal(content, &env); err != nil {
|
|
|
- log.Fatalf("Unable to unmarshal environment variables: %v", err)
|
|
|
- }
|
|
|
- // Propagate the plugin-specific container env variable
|
|
|
- env = append(env, "container="+os.Getenv("container"))
|
|
|
-
|
|
|
args := &execdriver.InitArgs{
|
|
|
User: *user,
|
|
|
Gateway: *gateway,
|
|
|
Ip: *ip,
|
|
|
WorkDir: *workDir,
|
|
|
Privileged: *privileged,
|
|
|
- Env: env,
|
|
|
Args: flag.Args(),
|
|
|
Mtu: *mtu,
|
|
|
Driver: *driver,
|