Add --build flag for up and create
Also adds a warning when up builds an image without the --build flag so that users know it wont happen on the next up. Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
parent
0b3561a7d5
commit
b7fb3a6d9b
4 changed files with 89 additions and 20 deletions
|
|
@ -25,6 +25,7 @@ from ..const import HTTP_TIMEOUT
|
|||
from ..const import IS_WINDOWS_PLATFORM
|
||||
from ..progress_stream import StreamOutputError
|
||||
from ..project import NoSuchService
|
||||
from ..service import BuildAction
|
||||
from ..service import BuildError
|
||||
from ..service import ConvergenceStrategy
|
||||
from ..service import ImageType
|
||||
|
|
@ -249,14 +250,15 @@ class TopLevelCommand(DocoptCommand):
|
|||
image haven't changed. Incompatible with --no-recreate.
|
||||
--no-recreate If containers already exist, don't recreate them.
|
||||
Incompatible with --force-recreate.
|
||||
--no-build Don't build an image, even if it's missing
|
||||
--no-build Don't build an image, even if it's missing.
|
||||
--build Build images before creating containers.
|
||||
"""
|
||||
service_names = options['SERVICE']
|
||||
|
||||
project.create(
|
||||
service_names=service_names,
|
||||
strategy=convergence_strategy_from_opts(options),
|
||||
do_build=not options['--no-build']
|
||||
do_build=build_action_from_opts(options),
|
||||
)
|
||||
|
||||
def down(self, project, options):
|
||||
|
|
@ -699,7 +701,8 @@ class TopLevelCommand(DocoptCommand):
|
|||
Incompatible with --no-recreate.
|
||||
--no-recreate If containers already exist, don't recreate them.
|
||||
Incompatible with --force-recreate.
|
||||
--no-build Don't build an image, even if it's missing
|
||||
--no-build Don't build an image, even if it's missing.
|
||||
--build Build images before starting containers.
|
||||
--abort-on-container-exit Stops all containers if any container was stopped.
|
||||
Incompatible with -d.
|
||||
-t, --timeout TIMEOUT Use this timeout in seconds for container shutdown
|
||||
|
|
@ -721,7 +724,7 @@ class TopLevelCommand(DocoptCommand):
|
|||
service_names=service_names,
|
||||
start_deps=start_deps,
|
||||
strategy=convergence_strategy_from_opts(options),
|
||||
do_build=not options['--no-build'],
|
||||
do_build=build_action_from_opts(options),
|
||||
timeout=timeout,
|
||||
detached=detached)
|
||||
|
||||
|
|
@ -775,6 +778,19 @@ def image_type_from_opt(flag, value):
|
|||
raise UserError("%s flag must be one of: all, local" % flag)
|
||||
|
||||
|
||||
def build_action_from_opts(options):
|
||||
if options['--build'] and options['--no-build']:
|
||||
raise UserError("--build and --no-build can not be combined.")
|
||||
|
||||
if options['--build']:
|
||||
return BuildAction.force
|
||||
|
||||
if options['--no-build']:
|
||||
return BuildAction.skip
|
||||
|
||||
return BuildAction.none
|
||||
|
||||
|
||||
def run_one_off_container(container_options, project, service, options):
|
||||
if not options['--no-deps']:
|
||||
deps = service.get_dependency_names()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue