mirror of https://github.com/docker/compose.git
				
				
				
			up/start/run: don't wait for disabled service
Signed-off-by: Nick Sieger <nick@nicksieger.com>
This commit is contained in:
		
							parent
							
								
									3c561e7017
								
							
						
					
					
						commit
						09e6b0292a
					
				|  | @ -352,6 +352,12 @@ func shouldWaitForDependency(serviceName string, dependencyConfig types.ServiceD | ||||||
| 		return false, nil | 		return false, nil | ||||||
| 	} | 	} | ||||||
| 	if service, err := project.GetService(serviceName); err != nil { | 	if service, err := project.GetService(serviceName); err != nil { | ||||||
|  | 		for _, ds := range project.DisabledServices { | ||||||
|  | 			if ds.Name == serviceName { | ||||||
|  | 				// don't wait for disabled service (--no-deps)
 | ||||||
|  | 				return false, nil | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
| 		return false, err | 		return false, err | ||||||
| 	} else if service.Scale == 0 { | 	} else if service.Scale == 0 { | ||||||
| 		// don't wait for the dependency which configured to have 0 containers running
 | 		// don't wait for the dependency which configured to have 0 containers running
 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,15 @@ | ||||||
|  | version: '3.8' | ||||||
|  | services: | ||||||
|  |   my-service: | ||||||
|  |     image: alpine | ||||||
|  |     command: tail -f /dev/null | ||||||
|  |     depends_on: | ||||||
|  |       nginx: {condition: service_healthy} | ||||||
|  | 
 | ||||||
|  |   nginx: | ||||||
|  |     image: nginx:alpine | ||||||
|  |     healthcheck: | ||||||
|  |       test:     "echo | nc -w 5 localhost:80" | ||||||
|  |       interval: 2s | ||||||
|  |       timeout:  1s | ||||||
|  |       retries:  10 | ||||||
|  | @ -0,0 +1,39 @@ | ||||||
|  | /* | ||||||
|  |    Copyright 2022 Docker Compose CLI authors | ||||||
|  | 
 | ||||||
|  |    Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |    you may not use this file except in compliance with the License. | ||||||
|  |    You may obtain a copy of the License at | ||||||
|  | 
 | ||||||
|  |        http://www.apache.org/licenses/LICENSE-2.0
 | ||||||
|  | 
 | ||||||
|  |    Unless required by applicable law or agreed to in writing, software | ||||||
|  |    distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |    See the License for the specific language governing permissions and | ||||||
|  |    limitations under the License. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | package e2e | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"testing" | ||||||
|  | 
 | ||||||
|  | 	"gotest.tools/v3/icmd" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | func TestRecreateWithNoDeps(t *testing.T) { | ||||||
|  | 	c := NewParallelCLI(t, WithEnv( | ||||||
|  | 		"COMPOSE_PROJECT_NAME=recreate-no-deps", | ||||||
|  | 	)) | ||||||
|  | 
 | ||||||
|  | 	res := c.RunDockerComposeCmdNoCheck(t, "-f", "fixtures/dependencies/recreate-no-deps.yaml", "up", "-d") | ||||||
|  | 	res.Assert(t, icmd.Success) | ||||||
|  | 
 | ||||||
|  | 	res = c.RunDockerComposeCmdNoCheck(t, "-f", "fixtures/dependencies/recreate-no-deps.yaml", "up", "-d", "--force-recreate", "--no-deps", "my-service") | ||||||
|  | 	res.Assert(t, icmd.Success) | ||||||
|  | 
 | ||||||
|  | 	RequireServiceState(t, c, "my-service", "running") | ||||||
|  | 
 | ||||||
|  | 	c.RunDockerComposeCmd(t, "down") | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue