| | |
| |
|
| | |
| | |
| | |
| |
|
| | from __future__ import print_function |
| |
|
| | import argparse |
| | import os |
| | import getpass |
| |
|
| | if __name__=="__main__": |
| |
|
| | print("building docker container . . . ") |
| | user_name = getpass.getuser() |
| | default_image_name = user_name + "-cliport" |
| |
|
| |
|
| | parser = argparse.ArgumentParser() |
| | parser.add_argument("-i", "--image", type=str, |
| | help="name for the newly created docker image", default=default_image_name) |
| |
|
| | parser.add_argument("-dr", "--dry_run", action='store_true', help="(optional) perform a dry_run, print the command that would have been executed but don't execute it.") |
| |
|
| | parser.add_argument("-pw", "--password", type=str, |
| | help="(optional) password for the user", default="password") |
| |
|
| | parser.add_argument('-uid','--user_id', type=int, help="(optional) user id for this user", default=os.getuid()) |
| | parser.add_argument('-gid','--group_id', type=int, help="(optional) user gid for this user", default=os.getgid()) |
| |
|
| | parser.add_argument('-p', "--passthrough", type=str, help="(optional) passthrough arguments to add to the docker build") |
| |
|
| | args = parser.parse_args() |
| | print("building docker image named ", args.image) |
| | cmd = "docker build --build-arg USER_NAME=%(user_name)s --build-arg USER_PASSWORD=%(password)s --build-arg USER_ID=%(user_id)s --build-arg USER_GID=%(group_id)s" \ |
| | %{'user_name': user_name, 'password': args.password, 'user_id': args.user_id, 'group_id': args.group_id} |
| |
|
| | if args.passthrough: |
| | cmd += " " + args.passthrough |
| |
|
| | cmd += " -t %s -f Dockerfile ." % args.image |
| |
|
| |
|
| | print("command = \n \n", cmd) |
| | print("") |
| |
|
| | |
| | if not args.dry_run: |
| | print("executing shell command") |
| | os.system(cmd) |
| | else: |
| | print("dry run, not executing command") |