1lxc-copy(1)                                                        lxc-copy(1)
2
3
4

NAME

6       lxc-copy - copy an existing container.
7

SYNOPSIS

9       lxc-copy {-n, --name name} [-P, --lxcpath path] {-N, --newname newname}
10                [-p, --newpath newpath] [-B, --backingstorage backingstorage]
11                [-s, --snapshot] [-a, --allowrunning] [-K, --keepname] [-D,
12                --keepdata] [-M, --keepmac] [-L, --fssize size [unit]] [--
13                hook arguments]
14       lxc-copy {-n, --name name} [-P, --lxcpath path] [-N, --newname newname]
15                [-p, --newpath newpath] {-e, --ephemeral} [-B,
16                --backingstorage backingstorage] [-s, --snapshot] [-a,
17                --allowrunning] [-K, --keepname] [-D, --keepdata] [-M,
18                --keepmac] [-L, --fssize size [unit]] [-- hook arguments]
19       lxc-copy {-n, --name name} [-P, --lxcpath path] [-N, --newname newname]
20                [-p, --newpath newpath] {-e, --ephemeral} [-B,
21                --backingstorage backingstorage] [-s, --snapshot] [-t,
22                --tmpfs] [-K, --keepname] [-M, --keepmac] [-- hook arguments]
23       lxc-copy {-n, --name name} [-P, --lxcpath path] {-N, --newname newname}
24                [-p, --newpath newpath] {-R, --rename}
25

DESCRIPTION

27       lxc-copy  creates  and  optionally  starts (ephemeral or non-ephemeral)
28       copies of existing containers.
29
30       lxc-copy creates copies of existing containers. Copies can be  complete
31       clones  of the original container. In this case the whole root filesys‐
32       tem of the container is simply copied to the new container. Or they can
33       be  snapshots, i.e. small copy-on-write copies of the original contain‐
34       er. In this case the specified backing storage for the copy  must  sup‐
35       port  snapshots. This currently includes btrfs, lvm (lvm devices do not
36       support snapshots of snapshots.), overlay, and zfs.
37
38       The copy's backing storage will be of the same  type  as  the  original
39       container. overlay snapshots of directory backed containers are exempt‐
40       ed from this rule.
41
42       When the -e flag is specified an ephemeral  snapshot  of  the  original
43       container  is  created  and  started.  Ephemeral  containers  will have
44       lxc.ephemeral = 1 set in their config file and  will  be  destroyed  on
45       shutdown.  When -e is used in combination with -D a non-ephemeral snap‐
46       shot of the original container is created and started.  Ephemeral  con‐
47       tainers  can  also  be  placed  on  a  tmpfs  with -t flag. NOTE: If an
48       ephemeral container that is placed on a tmpfs is rebooted  all  changes
49       made to it will currently be lost!
50
51       When  -e  is specified and no newname is given via -N a random name for
52       the snapshot will be chosen.
53
54       Containers created and started with -e can have  custom  mounts.  These
55       are  specified with the -m flag. Currently two types of mounts are sup‐
56       ported: bind, and overlay. Mount types are specified as  suboptions  to
57       the  -m  flag  and can be specified multiple times separated by commas.
58       overlay  mounts  are  currently  specified  in  the  format  -m   over‐
59       lay=/src:/dest.  When  no  destination  dest  is specified dest will be
60       identical  to   src.   Read-only   bind   mounts   are   specified   -m
61       bind=/src:/dest:ro  and  read-write  bind mounts -m bind=/src:/dest:rw.
62       Read-write bind mounts are the default and rw can  be  missing  when  a
63       read-write mount is wanted. When dest is missing dest will be identical
64       to   src.   An   example   for   multiple   mounts    would    be    -m
65       bind=/src1:/dest1:ro,bind=/src2:ro,overlay=/src3:/dest3.
66
67       The  mounts,  their  options, and formats supported via the -m flag are
68       subject to change.
69

OPTIONS

71       -N,--newname newname
72              The name for the copy.
73
74       -p,--newpath newpath
75              The path for the copy.
76
77       -R,--rename
78              Rename the original container.
79
80       -s,--snapshot
81              Create a snapshot of the original container. The backing storage
82              for  the  copy  must  support snapshots. This currently includes
83              btrfs, lvm, overlay, and zfs.
84
85       -a,--allowrunning
86              Allow the creation of a Snapshot of an already running  contain‐
87              er.   This  may  cause data corruption or data loss depending on
88              the used filesystem and applications. Use with care.
89
90       -F,--foreground
91              Run the snapshot in the foreground. The snapshots  console  will
92              be  attached to the current tty. (This option can only be speci‐
93              fied in conjunction with -e.)
94
95       -d, --daemon
96              Run the snapshot as a daemon  (This  is  the  default  mode  for
97              ephemeral  containers.). As the container has no more tty, if an
98              error occurs nothing will be displayed, the log file can be used
99              to  check  the error. (This option can only be specified in con‐
100              junction with -e.)
101
102       -m, --mount mounttype
103              Specify a mount for a snapshot The opts argument for  the  mount
104              type   can   by   of   type  {bind,  overlay}.  For  example  -m
105              bind=/src:/dest:ro,overlay=/src:/dest (This option can currently
106              only be specified in conjunction with -e.).
107
108       -t, --tmpfs
109              When  this  option  is specified the ephemeral container will be
110              placed on a tmpfs. NOTE: Rebooting an ephemeral  container  that
111              is  located  on a tmpfs will currently cause all changes made to
112              it to be lost. This flag will only work for ephemeral containers
113              created with the -e flag. The original container, from which the
114              ephemeral snapshot is created, must be stored as a simple direc‐
115              tory.
116
117       -B, --backingstorage backingstorage
118              Specify  the  backing storage type to be used for the copy where
119              'backingstorage' is  of  type  'btrfs',  'dir',  'lvm',  'loop',
120              'overlay', or 'zfs'.
121
122       -L, --fssize size [unit]
123              Specify the size for an 'lvm' filesystem.
124
125       -K, --keepname
126              When  this option is specified the hostname of the original con‐
127              tainer will be kept for the copy.
128
129       -D, --keepdata
130              When this option is specified with -e a non-ephemeral  container
131              is created and started.
132
133       -M, --keepmac
134              When  this  option  is specified the MAC address of the original
135              container will be kept for the copy.
136

COPY HOOK

138       If the container being copied has one or more lxc.hook.clone specified,
139       then  the  specified  hooks  will  be called for the new container. The
140       first 3 arguments passed to the clone hook will be the container  name,
141       a  section ('lxc'), and the hook type ('clone'). Extra arguments passed
142       to lxc-copy will be passed to the hook program starting at argument  4.
143       The  LXC_ROOTFS_MOUNT  environment  variable gives the path under which
144       the container's root filesystem  is  mounted.  The  configuration  file
145       pathname  is  stored  in  LXC_CONFIG_FILE,  the  new  container name in
146       LXC_NAME, the old container name in LXC_SRC_NAME, and the path  or  de‐
147       vice on which the rootfs is located is in LXC_ROOTFS_PATH.
148

COMMON OPTIONS

150       These options are common to most of lxc commands.
151
152       -?, -h, --help
153              Print a longer usage message than normal.
154
155       --usage
156              Give the usage message
157
158       -q, --quiet
159              mute on
160
161       -P, --lxcpath=PATH
162              Use an alternate container path. The default is /var/lib/lxc.
163
164       -o, --logfile=FILE
165              Output to an alternate log FILE. The default is no log.
166
167       -l, --logpriority=LEVEL
168              Set  log  priority  to LEVEL. The default log priority is ERROR.
169              Possible values are : FATAL, ALERT, CRIT, WARN,  ERROR,  NOTICE,
170              INFO, DEBUG, TRACE.
171
172              Note  that this option is setting the priority of the events log
173              in the alternate log file. It do not have effect  on  the  ERROR
174              events log on stderr.
175
176       -n, --name=NAME
177              Use  container identifier NAME.  The container identifier format
178              is an alphanumeric string.
179
180       --rcfile=FILE
181              Specify the configuration file to configure  the  virtualization
182              and isolation functionalities for the container.
183
184              This configuration file if present will be used even if there is
185              already a configuration file present in the  previously  created
186              container (via lxc-create).
187
188       --version
189              Show the version number.
190

SEE ALSO

192       lxc(7),  lxc-create(1), lxc-copy(1), lxc-destroy(1), lxc-start(1), lxc-
193       stop(1), lxc-execute(1), lxc-console(1),  lxc-monitor(1),  lxc-wait(1),
194       lxc-cgroup(1),  lxc-ls(1), lxc-info(1), lxc-freeze(1), lxc-unfreeze(1),
195       lxc-attach(1), lxc.conf(5)
196

AUTHOR

198       Christian Brauner <christian.brauner@mailbox.org>
199
200
201
202                                  2022-07-21                       lxc-copy(1)
Impressum