diff --git a/cmd/commands.go b/cmd/commands.go index b06ee93..2b29c57 100644 --- a/cmd/commands.go +++ b/cmd/commands.go @@ -60,12 +60,12 @@ var runDocker = &cobra.Command{ } var commitCommand = &cobra.Command{ - Use: "commit [image_name]", + Use: "commit [container_id] [image_tar_name]", Short: "commit a container into image", Long: "commit a container into image", - Args: cobra.ExactArgs(1), + Args: cobra.ExactArgs(2), Run: func(cmd *cobra.Command, args []string) { - container.CommitContainer(args[0]) + container.CommitContainer(args[0], args[1]) }, } diff --git a/container/commit.go b/container/commit.go index 400780b..002be07 100644 --- a/container/commit.go +++ b/container/commit.go @@ -2,14 +2,15 @@ package container import ( "os/exec" + "path/filepath" "xwj/mydocker/log" ) // CommitContainer // @Description: 打包一个容器 // @param imageName -func CommitContainer(imageName string) { - mntUrl := "./mnt" +func CommitContainer(containerID, imageName string) { + mntUrl := filepath.Join(ROOTURL, "mnt", containerID) imageTarUrl := "./" + imageName + ".tar" if _, err := exec.Command("tar", "-czf", imageTarUrl, "-C", mntUrl, ".").CombinedOutput(); err != nil { log.LogErrorFrom("CommitContainer", "tar", err)