|
|
@@ -247,6 +247,11 @@ class TopLevelCommand(object):
|
|
|
def project_dir(self):
|
|
|
return self.toplevel_options.get('--project-directory') or '.'
|
|
|
|
|
|
+ @property
|
|
|
+ def environment(self):
|
|
|
+ environment_file = self.toplevel_options.get('--env-file')
|
|
|
+ return Environment.from_env_file(self.project_dir, environment_file)
|
|
|
+
|
|
|
def build(self, options):
|
|
|
"""
|
|
|
Build or rebuild services.
|
|
|
@@ -276,9 +281,7 @@ class TopLevelCommand(object):
|
|
|
'--build-arg is only supported when services are specified for API version < 1.25.'
|
|
|
' Please use a Compose file version > 2.2 or specify which services to build.'
|
|
|
)
|
|
|
- environment_file = options.get('--env-file')
|
|
|
- environment = Environment.from_env_file(self.project_dir, environment_file)
|
|
|
- build_args = resolve_build_args(build_args, environment)
|
|
|
+ build_args = resolve_build_args(build_args, self.environment)
|
|
|
|
|
|
self.project.build(
|
|
|
service_names=options['SERVICE'],
|
|
|
@@ -429,11 +432,8 @@ class TopLevelCommand(object):
|
|
|
Compose file
|
|
|
-t, --timeout TIMEOUT Specify a shutdown timeout in seconds.
|
|
|
(default: 10)
|
|
|
- --env-file PATH Specify an alternate environment file
|
|
|
"""
|
|
|
- environment_file = options.get('--env-file')
|
|
|
- environment = Environment.from_env_file(self.project_dir, environment_file)
|
|
|
- ignore_orphans = environment.get_boolean('COMPOSE_IGNORE_ORPHANS')
|
|
|
+ ignore_orphans = self.environment.get_boolean('COMPOSE_IGNORE_ORPHANS')
|
|
|
|
|
|
if ignore_orphans and options['--remove-orphans']:
|
|
|
raise UserError("COMPOSE_IGNORE_ORPHANS and --remove-orphans cannot be combined.")
|
|
|
@@ -489,11 +489,8 @@ class TopLevelCommand(object):
|
|
|
-e, --env KEY=VAL Set environment variables (can be used multiple times,
|
|
|
not supported in API < 1.25)
|
|
|
-w, --workdir DIR Path to workdir directory for this command.
|
|
|
- --env-file PATH Specify an alternate environment file
|
|
|
"""
|
|
|
- environment_file = options.get('--env-file')
|
|
|
- environment = Environment.from_env_file(self.project_dir, environment_file)
|
|
|
- use_cli = not environment.get_boolean('COMPOSE_INTERACTIVE_NO_CLI')
|
|
|
+ use_cli = not self.environment.get_boolean('COMPOSE_INTERACTIVE_NO_CLI')
|
|
|
index = int(options.get('--index'))
|
|
|
service = self.project.get_service(options['SERVICE'])
|
|
|
detach = options.get('--detach')
|
|
|
@@ -1051,7 +1048,6 @@ class TopLevelCommand(object):
|
|
|
container. Implies --abort-on-container-exit.
|
|
|
--scale SERVICE=NUM Scale SERVICE to NUM instances. Overrides the
|
|
|
`scale` setting in the Compose file if present.
|
|
|
- --env-file PATH Specify an alternate environment file
|
|
|
"""
|
|
|
start_deps = not options['--no-deps']
|
|
|
always_recreate_deps = options['--always-recreate-deps']
|
|
|
@@ -1066,9 +1062,7 @@ class TopLevelCommand(object):
|
|
|
if detached and (cascade_stop or exit_value_from):
|
|
|
raise UserError("--abort-on-container-exit and -d cannot be combined.")
|
|
|
|
|
|
- environment_file = options.get('--env-file')
|
|
|
- environment = Environment.from_env_file(self.project_dir, environment_file)
|
|
|
- ignore_orphans = environment.get_boolean('COMPOSE_IGNORE_ORPHANS')
|
|
|
+ ignore_orphans = self.environment.get_boolean('COMPOSE_IGNORE_ORPHANS')
|
|
|
|
|
|
if ignore_orphans and remove_orphans:
|
|
|
raise UserError("COMPOSE_IGNORE_ORPHANS and --remove-orphans cannot be combined.")
|
|
|
@@ -1360,7 +1354,7 @@ def run_one_off_container(container_options, project, service, options, toplevel
|
|
|
if options['--rm']:
|
|
|
project.client.remove_container(container.id, force=True, v=True)
|
|
|
|
|
|
- environment_file = options.get('--env-file')
|
|
|
+ environment_file = toplevel_options.get('--env-file')
|
|
|
environment = Environment.from_env_file(project_dir, environment_file)
|
|
|
use_cli = not environment.get_boolean('COMPOSE_INTERACTIVE_NO_CLI')
|
|
|
signals.set_signal_handler_to_shutdown()
|