Commit Graph

192 Commits

Author SHA1 Message Date
Lance Chen 1191023fb6 Propagate GroupAdd from ServiceConfig to HostConfig
The `group_add` key is parsed correctly from a compose file, but it is not
passed into the `ContainerCreate` API call, thus the configuration does
not take effect. This commit fixes the issue by propagating the
configuration from Docker compose's ServiceConfig to Docker container's
HostConfig.

Signed-off-by: Lance Chen <hello@lancechen.tw>
2021-12-17 15:08:14 +01:00
Ulysses Souza 7b6439997d Fix output redirection on command run
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-12-15 15:10:22 +01:00
Ulysses Souza 9e52e9fbe3
Merge pull request #9004 from ndeloof/cp_stopped
compose cp doesn't need a full project and can copy from stopped containers
2021-12-14 14:27:51 +01:00
Nicolas De Loof c5b7624d10
compose cp doesn't need a full project and can copy from stopped container
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-12-12 16:15:56 +01:00
Ulysses Souza cf7319fc6e Only kill running containers
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-12-10 08:48:38 +01:00
Nicolas De Loof 740276f550 handle "stop" event
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-12-09 13:57:52 +01:00
Ulysses Souza 40bca10250
Merge pull request #9007 from ulyssessouza/add-test-modes
Add 2 modes test mechanism
2021-12-09 11:16:37 +01:00
Ulysses Souza 8ae8d99528 Use build tags for selecting e2e test mode
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-12-09 10:52:18 +01:00
notok b47d8ea868 Remove intermediate containers when build succeeded
Intermediate containers remain even when build succeeded
when building with classic way (i.e. not with buildkit).
Remove them when build succeeded like default behavior of docker build.

Signed-off-by: notok <noto.kazufumi@gmail.com>
2021-12-08 04:18:05 +09:00
Ulysses Souza a97a73600e Add 2 modes test mechanism
This should test on plugin and standalone mode

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-12-07 10:25:50 +01:00
Nicolas De Loof 6735220557 ignore missing (swarm) overlay networks
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-12-06 14:06:34 +01:00
Kevin Roy d7d29b25bc compose images should list created containers images
Signed-off-by: Kevin Roy <kiniou@gmail.com>
2021-12-05 10:59:25 +01:00
Guillaume Lours a842522f49 use filepath instead of path to check if the dockerfile path is abolute or not
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2021-12-03 12:15:22 +01:00
Ulysses Souza bc1160de72 Turn external volume usage into a warning instead of erroring
This avoids a compatibility break since returning an error would avoid
the project to be started

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-12-02 13:11:20 +01:00
Nicolas De Loof 0d7567131a
compose logs to notify printer about container lifecycle events
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-12-02 09:18:49 +01:00
Ulysses Souza cf7b1441d9 Return an error when failing to list containers
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-11-29 10:28:45 +01:00
Mathieu Champlon 32005b0bfe
Merge pull request #8953 from ulyssessouza/test-multiargs
Add multiargs build e2e tests
2021-11-29 09:46:47 +01:00
Ulysses Souza 95c4502b81 Refactoring variable name
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-11-28 15:43:27 +01:00
Nicolas De Loof bac732837e
Don't check compose labels on external volumes
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-27 16:34:42 +01:00
Ulysses Souza b725c56c42 Fix links resolution
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-11-26 20:20:55 +01:00
Ulysses Souza cfcc9533b3 Add multiargs build e2e tests
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-11-25 21:22:30 +01:00
Mathieu Champlon cffdb69c5e Fix test config dir content
Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com>
2021-11-25 21:22:30 +01:00
Kyungsik Park 709190312c Fix to use Key instead of Service for graph updates
Signed-off-by: Kyungsik Park <kay.pak@naverlabs.com>
2021-11-24 08:02:50 +01:00
Nicolas De Loof 4dafeb57a5 introduce run —quiet-pull to align with up
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-11-23 19:14:12 +01:00
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