lxc-clone(1)

NAME
lxc-clone - clone a new container from an existing one.

SYNOPSIS
lxc-clone
[-s ] [-K ] [-M ] [-H ] [-B backingstore] [-L fssize] [-p lxcpath] [-P newlxcpath] {-o orig} {-n new} [-- hook arguments]
lxc-clone
[-s ] [-K ] [-M ] [-H ] [-B backingstore] [-L fssize] [-p lxcpath] [-P newlxcpath] {orig} {new} [-- hook arguments]

DESCRIPTION
lxc-clone Creates a new container as a clone of an existing container. Two types of clones are supported: copy and snapshot. A copy clone copies the root filessytem from the original container to the new. A snapshot filesystem uses the backing store's snapshot functionality to create a very small copy-on-write snapshot of the original container. Snapshot clones require the new container backing store to support snapshotting. Currently this includes only aufs, btrfs, lvm, overlayfs and zfs. LVM devices do not support snapshots of snapshots.

The backing store of the new container will be the same type as the original container, with one exception, overlay containers. aufs and overlayfs snapshots can be created of directory backed containers. This can be requested by using (for overlayfs) the -B overlayfs arguments.

The names of the original and new container can be given (in that order) after all options, or can be specified with the -o and -n options, respectively.

OPTIONS

\FC-s, --snapshot\F[]
    The new container's rootfs will be a snapshot of the original. This option can be specified when the backing store is LVM, btrfs or zfs, and must be specified when you want to snapshot using aufs or overlayfs.

\FC-K, --keepname\F[]
    Do not change the hostname of the container (in the root filesystem).

\FC-M, --keepmac\F[]
    Use the same MAC address as the original container, rather than generating a new random one.

\FC-H, --copyhooks\F[]
    Copy all mount hooks into the new container's directory, and update any lxcpaths and container names as needed.

\FC-L, --fssize \F[]fssize
    In the case of a block device backed container, a size for the new block device. By default, the new device will be made the same size as the original.

\FC-p, --lxcpath \F[]lxcpath
    The lxcpath of the original container. By default, the system wide configured lxcpath will be used.

\FC-P, --newpath \F[]newlxcpath
    The lxcpath for the new container. By default the same lxcpath as the original will be used. Note that with btrfs snapshots, changing lxcpaths may not be possible, as subvolume snapshots must be in the same btrfs filesystem.

\FC-B, --backingstore \F[]backingstore
    Select a different backing store for the new container. By default the same as the original container's is used. Note that currently changing the backingstore is only supported for aufs and overlayfs snapshots of directory backed containers. Valid backing stores include dir (directory), aufs, btrfs, lvm, zfs, loop and overlayfs.

\FC-o, --orig \F[]orig
    The name of the original container to clone.

\FC-n, --new \F[]new
    The name of the new container to create.

CLONE HOOK
If the container being cloned has one or more \FClxc.hook.clone\F[] specified, then the specified hooks will be called for the new container. The first 3 arguments passed to the clone hook will be the container name, a section ('lxc'), and the hook type ('clone'). Extra arguments passed lxc-clone will be passed to the hook program starting at argument 4. The \FCLXC_ROOTFS_MOUNT\F[] environment variable gives the path under which the container's root filesystem is mounted. The configuration file pathname is stored in \FCLXC_CONFIG_FILE\F[], the new container name in \FCLXC_NAME\F[], the old container name in \FCLXC_SRC_NAME\F[], and the path or device on which the rootfs is located is in \FCLXC_ROOTFS_PATH\F[].

SEE ALSO
lxc(7), lxc-create(1), lxc-destroy(1), lxc-start(1), lxc-stop(1), lxc-execute(1), lxc-console(1), lxc-monitor(1), lxc-wait(1), lxc-cgroup(1), lxc-ls(1), lxc-info(1), lxc-freeze(1), lxc-unfreeze(1), lxc-attach(1), lxc.conf(5)

AUTHOR
Serge Hallyn <\FCserge.hallyn@ubuntu.com\F[]>