aboutsummaryrefslogtreecommitdiff
path: root/tests/docker/docker.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/docker/docker.py')
-rwxr-xr-xtests/docker/docker.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 9b3425f..7a14058 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -517,7 +517,7 @@ class BuildCommand(SubCommand):
class UpdateCommand(SubCommand):
- """ Update a docker image with new executables. Args: <tag> <executable>"""
+ """ Update a docker image. Args: <tag> <actions>"""
name = "update"
def args(self, parser):
@@ -525,6 +525,9 @@ class UpdateCommand(SubCommand):
help="Image Tag")
parser.add_argument("--executable",
help="Executable to copy")
+ parser.add_argument("--add-current-user", "-u", dest="user",
+ action="store_true",
+ help="Add the current user to image's passwd")
def run(self, args, argv):
# Create a temporary tarball with our whole build context and
@@ -564,6 +567,13 @@ class UpdateCommand(SubCommand):
df.write(u"ADD . /\n")
+ if args.user:
+ uid = os.getuid()
+ uname = getpwuid(uid).pw_name
+ df.write("\n")
+ df.write("RUN id %s 2>/dev/null || useradd -u %d -U %s" %
+ (uname, uid, uname))
+
df_bytes = BytesIO(bytes(df.getvalue(), "UTF-8"))
df_tar = TarInfo(name="Dockerfile")