Skip to content

Commit

Permalink
Bind mount at different location
Browse files Browse the repository at this point in the history
Binding a directory at a different location in a ephemeral container is
currently not possible. Using a regular container it however is possible.

Signed-off-by: Christiaan Baartse <anotherhero@gmail.com>
  • Loading branch information
christiaan committed Aug 7, 2015
1 parent f20b99d commit 710035f
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions src/lxc/lxc-start-ephemeral.in
Expand Up @@ -85,7 +85,8 @@ parser.add_argument("--name", "-n", type=str,
help=_("name of the target container"))

parser.add_argument("--bdir", "-b", type=str, action="append", default=[],
help=_("directory to bind mount into container"))
help=_("directory to bind mount into container, "
"either --bdir=/src-path or --bdir=/src-path:/dst-path"))

parser.add_argument("--cdir", "-c", type=str, action="append", default=[],
help=_("directory to cow mount into container"))
Expand Down Expand Up @@ -276,12 +277,18 @@ LXC_NAME="%s"
count += 1

for entry in args.bdir:
if not os.path.exists(entry):
if ':' in entry:
src_path, dst_path = entry.split(":")
else:
src_path = entry
dst_path = os.path.abspath(entry)

if not os.path.exists(src_path):
print(_("Path '%s' doesn't exist, won't be bind-mounted.") %
entry)
src_path)
else:
src_path = os.path.abspath(entry)
dst_path = "%s/rootfs/%s" % (dest_path, os.path.abspath(entry))
src_path = os.path.abspath(src_path)
dst_path = "%s/rootfs/%s" % (dest_path, dst_path)
fd.write("mkdir -p %s\nmount -n --bind %s %s\n" % (
dst_path, src_path, dst_path))

Expand Down

0 comments on commit 710035f

Please sign in to comment.