|  | @@ -123,7 +123,7 @@ func runUp(ctx context.Context, opts upOptions, services []string) error {
 | 
	
		
			
				|  |  |  		return err
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	err = applyScale(opts.scale, project)
 | 
	
		
			
				|  |  | +	err = applyScaleOpt(opts.scale, project)
 | 
	
		
			
				|  |  |  	if err != nil {
 | 
	
		
			
				|  |  |  		return err
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -142,7 +142,7 @@ func runCreateStart(ctx context.Context, opts upOptions, services []string) erro
 | 
	
		
			
				|  |  |  		return err
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	err = applyScale(opts.scale, project)
 | 
	
		
			
				|  |  | +	err = applyScaleOpt(opts.scale, project)
 | 
	
		
			
				|  |  |  	if err != nil {
 | 
	
		
			
				|  |  |  		return err
 | 
	
		
			
				|  |  |  	}
 | 
	
	
		
			
				|  | @@ -215,8 +215,7 @@ func runCreateStart(ctx context.Context, opts upOptions, services []string) erro
 | 
	
		
			
				|  |  |  	return err
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func applyScale(opts []string, project *types.Project) error {
 | 
	
		
			
				|  |  | -SCALE:
 | 
	
		
			
				|  |  | +func applyScaleOpt(opts []string, project *types.Project) error {
 | 
	
		
			
				|  |  |  	for _, scale := range opts {
 | 
	
		
			
				|  |  |  		split := strings.Split(scale, "=")
 | 
	
		
			
				|  |  |  		if len(split) != 2 {
 | 
	
	
		
			
				|  | @@ -227,26 +226,33 @@ SCALE:
 | 
	
		
			
				|  |  |  		if err != nil {
 | 
	
		
			
				|  |  |  			return err
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		for i, s := range project.Services {
 | 
	
		
			
				|  |  | -			if s.Name == name {
 | 
	
		
			
				|  |  | -				service, err := project.GetService(name)
 | 
	
		
			
				|  |  | -				if err != nil {
 | 
	
		
			
				|  |  | -					return err
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				if service.Deploy == nil {
 | 
	
		
			
				|  |  | -					service.Deploy = &types.DeployConfig{}
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				count := uint64(replicas)
 | 
	
		
			
				|  |  | -				service.Deploy.Replicas = &count
 | 
	
		
			
				|  |  | -				project.Services[i] = service
 | 
	
		
			
				|  |  | -				continue SCALE
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | +		err = setServiceScale(project, name, replicas)
 | 
	
		
			
				|  |  | +		if err != nil {
 | 
	
		
			
				|  |  | +			return err
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		return fmt.Errorf("unknown service %q", name)
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	return nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +func setServiceScale(project *types.Project, name string, replicas int) error {
 | 
	
		
			
				|  |  | +	for i, s := range project.Services {
 | 
	
		
			
				|  |  | +		if s.Name == name {
 | 
	
		
			
				|  |  | +			service, err := project.GetService(name)
 | 
	
		
			
				|  |  | +			if err != nil {
 | 
	
		
			
				|  |  | +				return err
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			if service.Deploy == nil {
 | 
	
		
			
				|  |  | +				service.Deploy = &types.DeployConfig{}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			count := uint64(replicas)
 | 
	
		
			
				|  |  | +			service.Deploy.Replicas = &count
 | 
	
		
			
				|  |  | +			project.Services[i] = service
 | 
	
		
			
				|  |  | +			return nil
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return fmt.Errorf("unknown service %q", name)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  func setup(ctx context.Context, opts composeOptions, services []string) (*client.Client, *types.Project, error) {
 | 
	
		
			
				|  |  |  	c, err := client.NewWithDefaultLocalBackend(ctx)
 | 
	
		
			
				|  |  |  	if err != nil {
 |