From 59c8ed77e4e8a54c5a7a7d645a73feed43ef140d Mon Sep 17 00:00:00 2001 From: Ganesh Satpute Date: Sun, 28 Jan 2018 16:45:38 +0530 Subject: [PATCH] Allow unset of entrypoint (resolves #5582) When an empty string is passed to the 'entrypoint' parameter, for example `docker-compose run --entrypoint='' ...` OR `docker-compose run --entrypoint '' ...` It allows the default entrypoint to be overriden by empty value. Signed-off-by: Ganesh Satpute --- compose/cli/main.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index aff69c2d3..056d8c46f 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -1232,8 +1232,7 @@ def build_container_options(options, detach, command): if options['--label']: container_options['labels'] = parse_labels(options['--label']) - if options['--entrypoint']: - container_options['entrypoint'] = options.get('--entrypoint') + _build_container_entrypoint_options(container_options, options) if options['--rm']: container_options['restart'] = None @@ -1260,6 +1259,16 @@ def build_container_options(options, detach, command): return container_options +def _build_container_entrypoint_options(container_options, options): + if options['--entrypoint']: + if options['--entrypoint'].strip() == '': + # Set an empty entry point. Refer https://github.com/moby/moby/pull/23718 + log.info("Overriding the entrypoint") + container_options['entrypoint'] = [""] + else: + container_options['entrypoint'] = options.get('--entrypoint') + + def run_one_off_container(container_options, project, service, options, toplevel_options, project_dir='.'): if not options['--no-deps']: