| ... | ... |
@@ -90,9 +90,6 @@ func createContainer(id string, root string, command string, args []string, laye |
| 90 | 90 |
if err := container.save(); err != nil {
|
| 91 | 91 |
return nil, err |
| 92 | 92 |
} |
| 93 |
- if err := container.generateLXCConfig(); err != nil {
|
|
| 94 |
- return nil, err |
|
| 95 |
- } |
|
| 96 | 93 |
return container, nil |
| 97 | 94 |
} |
| 98 | 95 |
|
| ... | ... |
@@ -102,10 +99,11 @@ func loadContainer(containerPath string) (*Container, error) {
|
| 102 | 102 |
return nil, err |
| 103 | 103 |
} |
| 104 | 104 |
container := &Container{
|
| 105 |
- stdout: newWriteBroadcaster(), |
|
| 106 |
- stderr: newWriteBroadcaster(), |
|
| 107 |
- stdoutLog: new(bytes.Buffer), |
|
| 108 |
- stderrLog: new(bytes.Buffer), |
|
| 105 |
+ stdout: newWriteBroadcaster(), |
|
| 106 |
+ stderr: newWriteBroadcaster(), |
|
| 107 |
+ stdoutLog: new(bytes.Buffer), |
|
| 108 |
+ stderrLog: new(bytes.Buffer), |
|
| 109 |
+ lxcConfigPath: path.Join(containerPath, "config.lxc"), |
|
| 109 | 110 |
} |
| 110 | 111 |
if err := json.Unmarshal(data, container); err != nil {
|
| 111 | 112 |
return nil, err |
| ... | ... |
@@ -178,7 +176,7 @@ func (container *Container) save() (err error) {
|
| 178 | 178 |
if err != nil {
|
| 179 | 179 |
return |
| 180 | 180 |
} |
| 181 |
- return ioutil.WriteFile(path.Join(container.Root, "config.json"), data, 0700) |
|
| 181 |
+ return ioutil.WriteFile(path.Join(container.Root, "config.json"), data, 0666) |
|
| 182 | 182 |
} |
| 183 | 183 |
|
| 184 | 184 |
func (container *Container) generateLXCConfig() error {
|
| ... | ... |
@@ -265,7 +263,9 @@ func (container *Container) Start() error {
|
| 265 | 265 |
if err := container.Filesystem.EnsureMounted(); err != nil {
|
| 266 | 266 |
return err |
| 267 | 267 |
} |
| 268 |
- |
|
| 268 |
+ if err := container.generateLXCConfig(); err != nil {
|
|
| 269 |
+ return err |
|
| 270 |
+ } |
|
| 269 | 271 |
params := []string{
|
| 270 | 272 |
"-n", container.Id, |
| 271 | 273 |
"-f", container.lxcConfigPath, |