Commit Graph

918 Commits

Author SHA1 Message Date
Albin Kerouanton 5f392258cb Don't try to start services with 0 replicas
When a service has 0 replicas to start, it don't try to create any
container. However `composeService.startService()` still gets executed.
This method checks if there's been containers created for that service
beforehand. If there's none, it returns the following error: `no
containers to start`.

This change checks if replicas == 0 and exits early from
`composeService.startService()` when that's the case.

Signed-off-by: Albin Kerouanton <albinker@gmail.com>
2021-11-23 11:57:09 +01:00
Mathieu Champlon 5754d6084c Bump compose-go to v1.0.7
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com>
2021-11-22 18:13:07 +01:00
Nicolas De Loof 10cd7e130f detect volume we didn't created and ask user to explicitely mark them as external
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-19 11:04:14 +01:00
Ulysses Souza 8f9dc2e7f8
Merge pull request #8888 from PierreAntoineGuillaume/v2
Fix typo in --wait option mechanism
2021-11-18 12:58:28 +01:00
Ulysses Souza dfa93d834f
Merge pull request #8938 from ndeloof/run_T
don't SetRawTerminal when run is ran with -T
2021-11-18 12:57:12 +01:00
Nicolas De Loof f69a613e69
don't SetRawTerminal when run is ran with -T
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-18 12:40:08 +01:00
Nicolas De Loof 29179840c3 restore support for `compose build` with a git URL
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-17 13:08:30 +01:00
Nicolas De Loof 7205d918ad interrupt printer when `compose log` is cancelled
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-17 12:34:52 +01:00
Guillaume Lours 413f46ade0 use Dockerfile directly when path is absolute otherwise join it with Context path
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2021-11-16 08:38:44 +01:00
Ulysses Souza e44222664a
Merge pull request #8904 from ndeloof/volumeZ
type mismatch checking tmpfs conflicting options
2021-11-09 10:11:11 +01:00
Nicolas De Loof 577bee955b
type mismatch checking tmpfs conflicting options
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-09 08:05:42 +01:00
Nicolas De Loof ed2395819d
better detect container will restart
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-08 14:33:04 +01:00
Pierre-Antoine Guillaume 9c01e41adf Fix typo in --wait option mechanism
Signed-off-by: Pierre-Antoine Guillaume <pierreantoine.guillaume@gmail.com>
2021-11-05 21:42:50 +01:00
Nicolas De Loof 6df30f39f2
golang is so ridiculous with this for..loop pattern
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-05 21:11:04 +01:00
Stephen Thirlwall 95f0431127 Fix typo in destroy event comment
Signed-off-by: Stephen Thirlwall <sdt@dr.com>
2021-11-04 09:13:59 +01:00
Stephen Thirlwall 2bee75c3c4 Fix formatting with gofmt -s
Knew I'd forget something.

Signed-off-by: Stephen Thirlwall <sdt@dr.com>
2021-11-04 09:13:59 +01:00
Stephen Thirlwall a1f7be7b5c Don't exit on container destroy events
Fixes #8747

When the event is a container destroy, calling ContainerInspect returns
an error, because the container no longer exists. This causes both
`docker-compose up` and `docker-compose logs -f` to exit when removing a
stopped container.

This container has already emitted its die event, and has already been
cleaned up. I believe all that needs doing in this case is to early-out.

Signed-off-by: Stephen Thirlwall <sdt@dr.com>
2021-11-04 09:13:59 +01:00
Nicolas De Loof 72e4519cbf introduce up --wait condition
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-03 18:22:29 +01:00
Ulysses Souza f10c96a54a
Merge pull request #8789 from Mygao/chore/fix-typo
Fix typo: netwok -> network
2021-11-02 10:49:31 +00:00
Ulysses Souza 06c5d8a902 Refactoring
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-11-02 10:56:03 +01:00
Ulysses Souza 0f3c214b48 Remove command.DockerCli dependency
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-11-02 10:56:03 +01:00
Ulysses Souza 058c779378 Add support for classic builder
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-11-02 10:56:03 +01:00
Ulysses Souza 284bad4411 Avoid test flakyness by ordering volumes before checking
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-10-31 02:25:10 +01:00
Nicolas De Loof d38f278f68
add support for EnableIPv6
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-10-28 19:32:04 +02:00
Nicolas De Loof ba08d39187
add support for DOCKER_DEFAULT_PLATFORM
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-10-28 10:28:51 +02:00
Andreas Resios e3204e7c4e Actually fix #8811
The initial PR had the wrong boolean check. This commit addressed it.

fixes #8811

Signed-off-by: Andreas Resios <andrei.resios@gmail.com>
2021-10-21 09:18:08 +00:00
Andreas Resios 85ef72585d Compose exec cannot process more than 32KB of data
Fixes #8811

Signed-off-by: Andreas Resios <andrei.resios@gmail.com>
2021-10-20 15:54:18 +00:00
Ulysses Souza 94379769e3 Make service>build>dockerfile a simple filename
- It makes it keep a simple filename instead of an absolute path

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-10-20 10:24:08 +02:00
Ulysses Souza 7d768e7c1d Fix index out of range on compose.buildContainerMountOptions
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-10-20 10:24:05 +02:00
Ulysses Souza ea5b094a93
Merge pull request #8792 from ulyssessouza/fix-network-mode-service
Fix network_mode "service:x"
2021-10-20 10:21:52 +02:00
Ulysses Souza c2dd40c161 Fix network_mode "service:x"
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-10-14 10:40:44 +02:00
Kyungsik Park 3260dcb121 Fix typo: netwok -> network
Signed-off-by: Kyungsik Park <kay.pak@naverlabs.com>
2021-10-13 13:50:48 +09:00
Nicolas De Loof d48068d6e1 pass runtime option to containerCreate
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-10-12 14:10:26 +02:00
Ulysses Souza ef786f9245 Fix index out of range on compose.buildContainerMountOptions
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-10-11 13:27:37 +02:00
Ulysses Souza 0062703bea
Merge pull request #8726 from ndeloof/log_follow_killed
`log --follow` must stop when container get killed
2021-10-06 18:46:45 +02:00
Nicolas De Loof 1b106f9133
fix support for devices
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-10-02 09:22:58 +02:00
Nicolas De Loof 4af04b23ec
`log --follow` must stop when container get killed
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-10-01 14:39:14 +02:00
Ulysses Souza 8bba863935 Bump compose-go 1.0.2
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-09-30 17:23:37 +02:00
Matthias Dötsch 7e6af46af0 stop time.Ticker after use
Signed-off-by: Matthias Dötsch <matthias.doetsch@innogames.com>
2021-09-30 17:09:49 +02:00
Ulysses Souza ecee21b5e5
Merge pull request #8708 from ulyssessouza/standalone
Add standalone capacility
2021-09-30 10:23:02 +02:00
Kevin De Jong 7365917244 Fix build cache_from option
Signed-off-by: Kevin De Jong <kevin@tinymile.ai>
2021-09-30 08:27:54 +02:00
Ulysses Souza 17354fcc99 Add standalone capacility
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-09-30 02:16:55 +02:00
Nicolas De Loof 07b5512a68 `run` must attach to stdin
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-27 17:42:37 +02:00
Lorena Rangel 1ec997270d
Merge pull request #8668 from ndeloof/ignore_orphans
add support for COMPOSE_IGNORE_ORPHANS
2021-09-27 16:40:25 +02:00
Nicolas De Loof a0f0debb9e parse security opts to process seccomp file as relative to project dir
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-27 15:39:44 +02:00
Nicolas De Loof bc25259f07
add support for COMPOSE_IGNORE_ORPHANS
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-24 08:24:48 +02:00
Nicolas De Loof 244834ff12 compose exec doesn't need project
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-23 17:09:37 +02:00
Nicolas De Loof 9b055c31fe "log" must stop watching on SIGTERM
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-23 15:35:38 +02:00
Nicolas De Loof 97a0efd7c3 group ports to render ranges as ... ranges
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-23 15:35:07 +02:00
Nicolas De Loof e39ea13002 fix support for `compose run --label`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-23 14:52:04 +02:00
Nicolas De Loof 99e75639d6 define compose container names with a valid hostname
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-22 19:06:34 +02:00
Ulysses Souza 2a1e989f3e Stop only the service ran by it's up command
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-09-20 16:45:40 +02:00
Ulysses Souza 480a255a0e
Merge pull request #8620 from ndeloof/scale_0
get scale from deploy.replicas. Require scale normalization
2021-09-20 16:27:11 +02:00
Ulysses Souza 6b4b2ea633
Merge pull request #8635 from ndeloof/project_from_labels
rebuild compose project from labels
2021-09-20 16:24:32 +02:00
Ulysses Souza 3bf555cbd6 Fix lint make target
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-09-20 13:09:11 +02:00
Nicolas De Loof 48a6dc088b
rebuild compose project from labels
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-20 09:00:47 +02:00
Nicolas De Loof 18059295f7 waitForContainer to ensure stopped before remove
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-17 11:01:41 +02:00
Nicolas De Loof abb2ddba88 `compose config` to espace `$` signs so compose file is still valid
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-17 10:32:52 +02:00
Ulysses Souza 1150a323ab Add UnsupportedFlag to the declared errors
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-09-16 16:46:17 +02:00
aviau 21d3b19e57 compose/run: don't waitDependencies if NoDeps
Signed-off-by: aviau <alexandre@alexandreviau.net>
2021-09-16 11:09:44 +02:00
Nicolas De Loof a2947457b9
get scale from deploy.replicas. Require scale normalization
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-15 14:02:01 +02:00
Nicolas De Loof f7c360b721 run watchContainers with a background context
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-14 11:44:22 +02:00
Nicolas De Loof e71c833d79 set name from project config when recreating container
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-13 10:53:42 +02:00
Nicolas De Loof aa89fa5443 add support for build.network and build.extrahosts
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-09 11:05:01 +02:00
Nicolas De Loof f3171e90cf prefix volumes with `container:` as we resolve service into container
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-09 11:04:15 +02:00
Nicolas De Loof 0e0291510c support service entrypoint set as empty slice (override Dockerfile ENTRYPOINT)
close https://github.com/docker/compose/issues/8581

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-08 10:39:08 +02:00
Nicolas De Loof 2ceb176500 support --entrypoint="" as override
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-08 10:39:08 +02:00
Nicolas De Loof 1458beea84 stop log --follow on SIGINT
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-08 10:20:55 +02:00
Nicolas De Loof bd22aed868 fix panic on scale down
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-03 16:14:31 +02:00
Nicolas De Loof 22ee74391a
don't create container with autoremove so we can inspect for exitcode
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-01 16:53:57 +02:00
Nicolas De Loof 81879c4f4b
update project's volumes_from before retrieving service
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-09-01 10:48:12 +02:00
Nicolas De Loof 1ae9b3cb5d
move compose-cli code into docker/compose/v2
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-31 19:09:19 +02:00
Nicolas De Loof 007ec5afee
set proxy env vars based on CLI config
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-31 14:04:31 +02:00
Lorena Rangel 52df801287
Merge pull request #2044 from ndeloof/build_services
Only build requested services
2021-08-31 10:34:26 +02:00
Nicolas De Loof 78faf0dc51
prepare volume for service set by `run`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-30 09:45:43 +02:00
Nicolas De Loof 19cbbdd79e
only build requested services
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-26 15:55:19 +02:00
Nicolas De loof 6a6dafbdb5
Merge pull request #2026 from ulyssessouza/warn-pull-build 2021-08-25 14:39:47 +02:00
Nicolas De loof a5e8ab2d64
Merge pull request #2037 from ndeloof/volume_from_deps
include volume_from as a source for implicit dependencies
2021-08-25 11:18:35 +02:00
Nicolas De Loof 4b808e569c
include volume_from as a source for implicit dependencies
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-25 11:02:19 +02:00
Nicolas De Loof 58bfbbb288
introduce ImageDigestLabel to track image built for service
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-25 10:03:51 +02:00
Ulysses Souza 682c7d74b9 Lower project name for "compose down"
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-08-18 14:21:16 -03:00
Ulysses Souza 4364b48238 Add build warning on pull
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-08-18 11:04:02 -03:00
Lorena Rangel 15f07f2e13 Revert "introduce ImageDigestLabel to track image built for service"
Signed-off-by: Lorena Rangel <lorena.rangel@docker.com>
2021-08-09 17:27:23 +02:00
Nicolas De Loof 64cea4fab3
introduce ImageDigestLabel to track image built for service
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-06 16:14:03 +02:00
Nicolas De Loof 4b18d30871
ignore one-off container events
close https://github.com/docker/compose-cli/issues/1955

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-05 11:50:32 +02:00
Nicolas De Loof 94997be633
include exposed ports in container ports config
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-07-30 11:14:26 +02:00
Hironao OTSUBO 1a0efdd413 Fix issue `docker compose rm -s` not removing containers
Signed-off-by: Hironao OTSUBO <motemen@gmail.com>
2021-07-29 23:37:48 +09:00
Nicolas De loof b9f38feb25
Merge pull request #1935 from shua/scale0 2021-07-26 08:23:50 +02:00
JD Lloret c82dd55fd2
allow for 0 scale/replicas
Signed-off-by: JD Lloret <jd.lloret@joyent.com>
2021-07-23 11:38:20 -04:00
Nicolas De Loof 86eadc7d67
reduce complexity (linter)
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-07-23 15:20:53 +02:00
Nicolas De Loof 0b72b502d3
close container stream on os.stdin EOF
close https://github.com/docker/compose-cli/issues/1944

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-07-23 14:53:26 +02:00
Nicolas De Loof c257001e5a
Restore support for control sequence in `compose run`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-07-23 13:58:58 +02:00
Nicolas De loof 7a4e111794
Merge pull request #1852 from ulyssessouza/logs-follow-scale 2021-07-12 17:23:37 +02:00
Ulysses Souza 287f3156ae Detect new containers on logs --follow
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-07-12 09:02:51 -03:00
Nicolas De Loof 0a5b43d1e3
report error when there's no container to start
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-07-12 12:10:50 +02:00
Mathieu Champlon 2d0d3881ac Fix slice access
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com>
2021-07-07 12:57:13 +02:00
Mathieu Champlon 9317ffc0ab Serialize access to observed state
This should fix concurrent accesses to the map.

Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com>
2021-07-07 12:25:32 +02:00
Mathieu Champlon 918fe00f3e Fix loop variable captures in goroutines
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com>
2021-07-07 12:25:22 +02:00
Nicolas De Loof bee156fb97
close sdtin stream on EOF to propagate exec process' stdin
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-07-02 17:02:20 +02:00
Nicolas De Loof 96e1e041d6
distinguish stdout and stderr
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-07-02 10:53:11 +02:00
Nicolas De loof 4bf7829d1b
Merge pull request #1860 from ndeloof/detach_keys
add support for detach keys on compose run|exec
2021-06-30 09:44:11 +02:00
Nicolas De Loof b6552cd935
add support for detach keys on compose run|exec
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-29 17:27:43 +02:00
Nicolas De Loof fb73dd58d9 Move compose e2e tests into pkg
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-28 08:47:58 +02:00
Nicolas De Loof c901edd65d
introduce `convergence` to hold per-service Containers and prevent race conditions
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-25 13:18:00 +02:00
Nicolas De loof 98a781f5cf
Merge pull request #1827 from ndeloof/ipam 2021-06-23 15:58:26 +02:00
Nicolas De loof 8d2019e77d
Merge pull request #1831 from ndeloof/inherit_volumes
inherit anoymous volumes
2021-06-23 15:35:18 +02:00
Nicolas De Loof 05b510a447
compose ps to include container command
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-22 16:09:47 +02:00
Nicolas De Loof 444fc26a51
inherit anoymous volumes
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-22 14:37:52 +02:00
Nicolas De Loof 2fdc2e1dfb apply IPAM configuration to network and services
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-22 11:23:57 +02:00
Nicolas De Loof 7f18b47a9a prefer canonical `compose.yaml` file name
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-22 11:23:57 +02:00
Nicolas De Loof 852aae0a39 don't apply restart_policy on `compose run`
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-21 08:25:41 +02:00
Lorena Rangel b5d3eda223 only disconnect active networks in a container
Signed-off-by: Lorena Rangel <lorena.rangel@docker.com>
2021-06-17 16:55:22 +02:00
Lorena Rangel b38d35ae1c set container links and external links in network
Signed-off-by: Lorena Rangel <lorena.rangel@docker.com>
2021-06-17 15:51:14 +02:00
Nicolas De Loof 399f6cde5e
document public variable
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-17 15:35:50 +02:00
Nicolas De Loof df9fa2d2d8
better interoperability with docker-compose on version label
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-16 14:40:33 +02:00
Afshin Paydar df6d709aa5 Merge branch 'main' of github.com:docker/compose-cli into docker_compose_logs_since_option 2021-06-16 08:57:02 +08:00
Nicolas De Loof 49e7f2d45d Move compose v2 implementation under pkg/compose with dependencies
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-15 15:52:48 +02:00
Nicolas De Loof d90495e1cd move compose API into pkg/api
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-15 15:52:48 +02:00