Merge component 'cli' from git@github.com:docker/cli master
This commit is contained in:
@@ -25,7 +25,7 @@ Aliases:
|
||||
|
||||
Options:
|
||||
--bundle-file string Path to a Distributed Application Bundle file
|
||||
-c, --compose-file string Path to a Compose file
|
||||
-c, --compose-file strings Path to a Compose file
|
||||
--help Print usage
|
||||
--prune Prune services that are no longer referenced
|
||||
--resolve-image string Query the registry to resolve image digest and supported platforms
|
||||
@@ -76,14 +76,12 @@ Creating service vossibility_ghollector
|
||||
Creating service vossibility_lookupd
|
||||
```
|
||||
|
||||
Only a single Compose file is accepted. If your configuration is split between
|
||||
multiple Compose files, e.g. a base configuration and environment-specific overrides,
|
||||
you can combine these by passing them to `docker-compose config` with the `-f` option
|
||||
and redirecting the merged output into a new file.
|
||||
If your configuration is split between multiple Compose files, e.g. a base
|
||||
configuration and environment-specific overrides, you can provide multiple
|
||||
`--compose-file` flags.
|
||||
|
||||
```bash
|
||||
$ docker-compose -f docker-compose.yml -f docker-compose.prod.yml config > docker-stack.yml
|
||||
$ docker stack deploy --compose-file docker-stack.yml vossibility
|
||||
$ docker stack deploy --compose-file docker-compose.yml -f docker-compose.prod.yml vossibility
|
||||
|
||||
Ignoring unsupported options: links
|
||||
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package container
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/docker/cli/e2e/internal/fixtures"
|
||||
"github.com/gotestyourself/gotestyourself/icmd"
|
||||
"github.com/gotestyourself/gotestyourself/poll"
|
||||
)
|
||||
|
||||
func TestKillContainer(t *testing.T) {
|
||||
containerID := runBackgroundTop(t)
|
||||
|
||||
// Kill with SIGTERM should kill the process
|
||||
result := icmd.RunCmd(
|
||||
icmd.Command("docker", "kill", "-s", "SIGTERM", containerID),
|
||||
)
|
||||
|
||||
result.Assert(t, icmd.Success)
|
||||
poll.WaitOn(t, containerStatus(t, containerID, "exited"), poll.WithDelay(100*time.Millisecond), poll.WithTimeout(5*time.Second))
|
||||
|
||||
// Kill on a stop container should return an error
|
||||
result = icmd.RunCmd(
|
||||
icmd.Command("docker", "kill", containerID),
|
||||
)
|
||||
result.Assert(t, icmd.Expected{
|
||||
ExitCode: 1,
|
||||
Err: "is not running",
|
||||
})
|
||||
}
|
||||
|
||||
func runBackgroundTop(t *testing.T) string {
|
||||
result := icmd.RunCmd(shell(t,
|
||||
"docker run -d %s top", fixtures.AlpineImage))
|
||||
result.Assert(t, icmd.Success)
|
||||
return strings.TrimSpace(result.Stdout())
|
||||
}
|
||||
|
||||
func containerStatus(t *testing.T, containerID, status string) func(poll.LogT) poll.Result {
|
||||
return func(poll.LogT) poll.Result {
|
||||
result := icmd.RunCmd(
|
||||
shell(t, "docker inspect -f '{{ .State.Status }}' %s", containerID),
|
||||
)
|
||||
result.Assert(t, icmd.Success)
|
||||
actual := strings.TrimSpace(result.Stdout())
|
||||
if actual == status {
|
||||
return poll.Success()
|
||||
}
|
||||
return poll.Continue("expected status %s != %s", status, actual)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user