fix when --config provided, don't need Image/RootFS

Signed-off-by: Lifubang <lifubang@aliyun.com>
This commit is contained in:
Lifubang
2018-08-27 11:18:25 +08:00
parent 830363acac
commit 1d9b96988f
3 changed files with 43 additions and 12 deletions

View File

@@ -34,10 +34,14 @@ import (
// NewContainer creates a new container
func NewContainer(ctx gocontext.Context, client *containerd.Client, context *cli.Context) (containerd.Container, error) {
var (
ref = context.Args().First()
id = context.Args().Get(1)
args = context.Args()[2:]
id string
Config = context.IsSet("config")
)
if Config {
id = context.Args().First()
} else {
id = context.Args().Get(1)
}
if raw := context.String("checkpoint"); raw != "" {
im, err := client.GetImage(ctx, raw)
@@ -53,9 +57,14 @@ func NewContainer(ctx gocontext.Context, client *containerd.Client, context *cli
spec containerd.NewContainerOpts
)
if context.IsSet("config") {
if Config {
opts = append(opts, oci.WithSpecFromFile(context.String("config")))
} else {
var (
ref = context.Args().First()
//for container's id is Args[1]
args = context.Args()[2:]
)
opts = append(opts, oci.WithDefaultSpec(), oci.WithDefaultUnixDevices)
opts = append(opts, oci.WithEnv(context.StringSlice("env")))
opts = append(opts, withMounts(context))