305 Commits

Author SHA1 Message Date
Sebastiaan van Stijn
a5863de31a Make COMPOSE_DOCKER_CLI_BUILD=1 the default
This changes compose to use "native" build through the CLI
by default. With this, docker-compose can take advantage of
BuildKit (which is now enabled by default on Docker Desktop
2.5 and up).

Users that want to use the python client for building can
opt-out of this feature by setting COMPOSE_DOCKER_CLI_BUILD=0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-01-26 20:15:14 +01:00
Ulysses Souza
318741ca5e Add metrics
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-26 20:15:14 +01:00
Roman Anasal
2d2a8a0469 Implement service profiles
Implement profiles as introduced in compose-spec/compose-spec#110
fixes #7919
closes #1896
closes #6742
closes #7539

Signed-off-by: Roman Anasal <roman.anasal@bdsu.de>
2020-12-02 01:08:11 +01:00
Kaushal Rohit
cddaa77fea Added option to disable log prefix via cli
Signed-off-by: Kaushal Rohit <rohit.kg98@gmail.com>
2020-10-18 19:52:16 +05:30
Ulysses Souza
ce59a4c223 Fix port rendering
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-09-24 14:49:26 +02:00
Ulysses Souza
fde1c681a7 Preserve the version when specified in the file
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-09-10 13:10:33 +02:00
aiordache
2b4d409ac3 Update schema and fix memory limit parsing
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-08-17 20:08:06 +02:00
alexrecuenco
4d3d9f64b9 Removed Python2 support
Closes: #6890

Some remarks,

- `# coding ... utf-8` statements are not needed
- isdigit on strings instead of a try-catch.
- Default opening mode is read, so we can do `open()` without the `'r'` everywhere
- Removed inheritinng from `object` class, it isn't necessary in python3.
- `super(ClassName, self)` can now be replaced with `super()`
- Use of itertools and `chain` on a couple places dealing with sets.
- Used the operator module instead of lambdas when warranted
    `itemgetter(0)` instead of `lambda x: x[0]`
    `attrgetter('name')` instead of `lambda x: x.name`
- `sorted` returns a list, so no need to use `list(sorted(...))`
- Removed `dict()` using dictionary comprehensions whenever possible
- Attempted to remove python3.2 support

Signed-off-by: alexrecuenco <alejandrogonzalezrecuenco@gmail.com>
2020-08-11 17:45:13 +07:00
Vitor Anjos
17b41b27a8 Ignore build context path validation when it is not necessary
Signed-off-by: Vitor Anjos <vitorbartier@hotmail.com>
2020-08-10 10:32:45 +02:00
Eric Hripko
a8511e0884 Remove the now unneeded version qualifier
Signed-off-by: Eric Hripko <ehripko@bloomberg.net>
2020-08-07 14:46:17 +01:00
Eric Hripko
efb5601323 Implement service mode for ipc
Signed-off-by: Eric Hripko <ehripko@bloomberg.net>
2020-08-07 14:43:46 +01:00
Anca Iordache
d4f55a721d
Merge pull request #7457 from EricHripko/run-healthy
[Compose Spec] Make 'run' behave in the same way as 'up'
2020-08-07 10:31:22 +02:00
Eric Hripko
06462cd604 Make run behave in the same way as up
Signed-off-by: Eric Hripko <ehripko@bloomberg.net>
2020-08-06 23:11:39 +01:00
Anca Iordache
debcdde27d
Merge pull request #7543 from jarulsamy/7540-flag_nullifier
Add `--` as a separator of flags and arguments.
2020-08-04 14:28:14 +02:00
aiordache
cb56036a6e rename schema to compose_spec
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-09 15:52:46 +02:00
aiordache
b78c1ec193 Merge 2.x and 3.x schemas
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-08 12:31:39 +02:00
Joshua Arulsamy
d0f9fa84ad Add tests for -- seperator of flags and args.
Signed-off-by: Joshua Arulsamy <joshua.gf.arul@gmail.com>
2020-06-17 23:14:39 -06:00
Bastian Venthur
8ce743c8c1 Fixed new things that came after the PR
Signed-off-by: Bastian Venthur <bastian.venthur@flixbus.com>
2020-06-03 18:08:23 +02:00
Bastian Venthur
5529376d4c Removed six
Signed-off-by: Bastian Venthur <bastian.venthur@flixbus.com>
2020-06-03 17:43:16 +02:00
Bastian Venthur
e8424d5ae0 Removed Python2 support
Closes: #6890

Signed-off-by: Bastian Venthur <bastian.venthur@flixbus.com>
2020-06-03 17:37:47 +02:00
Ulysses Souza
0ace76114b Add conformity tests hack
- That can be used with:
./script/test/acceptance

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-03-10 15:41:28 +01:00
Anca Iordache
2dfd85e30e Use docker context interface from docker-py
Signed-off-by: Anca Iordache <anca.iordache@docker.com>
2020-02-06 12:01:37 +01:00
Ulysses Souza
9f5f8b4757 Remove None entries on execute command
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-01-30 19:26:33 +01:00
Ben Thorner
a6b602d086 Support attaching to dependencies on up
When using the 'up' command, only services listed as arguments are
attached to, which can be very different to the 'no argument' case
if a service has many and deep dependencies:

   - It's not clear when dependencies have failed to start. Have to run
'compose ps' separately to find out.
   - It's not clear when dependencies are erroring. Have to run 'compose
logs' separately to find out.

With a simple setup, it's possible to work around theses issue by
using the 'up' command without arguments. But when there are lots of
'top-level' services, with common dependencies, in a single config,
using 'up' without arguments isn't practical due to resource limits
and the sheer volume of output from other services.

This introduces a new '--attach-dependencies' flag to optionally attach
dependent containers as part of the 'up' command. This makes their logs
visible in the output, alongside the listed services. It also means we
benefit from the '--abort-on-container-exit' behaviour when dependencies
fail to start, giving more visibility of the failure.

Signed-off-by: Ben Thorner <ben.thorner@digital.cabinet-office.gov.uk>
2020-01-16 13:41:54 +00:00
Kevin Roy
093cc2c089
Allow setting compatibility options from environment
Signed-off-by: Kevin Roy <kiniou@gmail.com>
2020-01-13 14:53:03 +01:00
Sergey Fursov
c818bfc62c support PyYAML up to 5.x version
Signed-off-by: Sergey Fursov <geyser85@gmail.com>
2020-01-09 12:30:51 +01:00
Sebastiaan van Stijn
33eeef41ab Remove "bundle" subcommand and support for DAB files
Deploying stacks using the "Docker Application Bundle" (`.dab`) file
format was introduced as an experimental feature in Docker 1.13 /
17.03, but superseded by support for Docker Compose files in the CLI.

With no development being done on this feature, and no active use of the file
format, support for the DAB file format and the top-level `docker deploy` command
(hidden by default in 19.03), will be removed from the CLI, in favour of
`docker stack deploy` using compose files.

This patch removes the `docker-compose bundle` subcommand from Docker Compose,
which was used to convert compose files into DAB files (and given the above,
will no longer be needed).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-01-08 16:42:49 +01:00
Nicolas De Loof
55c5c8e8ac
Report image we can't pull and must be built
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2019-11-25 15:18:27 +01:00
Ulysses Souza
a83d86e7ce
Merge pull request #7037 from ndeloof/stdin
config_detail.filename is None when passed by stdin
2019-11-22 15:24:43 +01:00
Nicolas De Loof
e6ec77047b Revert "only pull images that can't build"
This reverts commit c6dd7da15eb3d85a1f7634e8ded9fe42c9035669.

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2019-11-21 14:37:41 +01:00
Nicolas De Loof
fe2b692547
testcase for compose file read from stdin
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2019-11-20 15:38:15 +01:00
Nicolas De Loof
1ca10f90fb Fix acceptance tests
tty is now (correclty) reported to have 80 columns, which split service
ID in two lines

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2019-10-16 14:31:27 +02:00
aiordache
60dcf87cc0 update alpine version to 3.10.1
Signed-off-by: aiordache <anca.iordache@docker.com>
2019-08-20 12:10:26 +02:00
Ulysses Souza
b03889ac2a Add integration tests regarding environment
This covers what was included in #6800

Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
2019-07-31 02:09:41 +02:00
Ulysses Souza
cd098e0cad Pin test images on a non rolling tag
Mainly busybox:latest to the current latest which is 1.31.0-uclibc

Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
2019-07-18 11:10:37 +02:00
Djordje Lukic
c8279bc4db
Merge pull request #6738 from Inconnu08/set-optimization
Replace sets with set literal syntax for efficiency
2019-07-15 15:23:24 +02:00
Ulysses Souza
cacc9752a3 Pin busybox image version in tests
Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
2019-07-02 13:42:41 +02:00
Inconnu08
b29b6a1538 replace sets with set literal syntax for efficiency
Signed-off-by: Taufiq Rahman <taufiqrx8@gmail.com>
2019-05-31 20:29:09 +06:00
Ian Campbell
a89128118b
Merge pull request #6342 from collin5/b5547
--remove-orphans is ignored when using up --no-start
2019-05-20 15:45:24 +01:00
Ulysses Souza
8a9575bd0d Remove remaining containers on test_build_run
Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
2019-05-14 19:13:21 +02:00
Ulysses Souza
f2dc923084 Avoid race condition on test
Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
2019-04-19 15:53:02 +02:00
Ulysses Souza
e047169315 Workaround race conditions on tests
Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
2019-04-17 17:59:12 +02:00
Ian Campbell
6ccbb56fec
Merge pull request #6494 from collin5/b6464
Only pull images that can't build `docker-compose pull`
2019-03-25 13:25:32 +00:00
Collins Abitekaniza
c6dd7da15e only pull images that can't build
Signed-off-by: Collins Abitekaniza <abtcolns@gmail.com>
2019-03-24 01:05:30 +03:00
Ian Campbell
7bf9963cd6
Merge pull request #6547 from kudos/bugfix/scale-zero-default
Fix scale attribute to accept 0 as a value
2019-03-07 15:40:14 +00:00
Jonathan Cremin
087bef4f95 Add tests for compose file 'scale: 0'
Signed-off-by: Jonathan Cremin <jonathan@crem.in>
2019-03-06 12:57:14 +00:00
Akshit Grover
1f97a572fe
Add --quiet build flag
Signed-off-by: Akshit Grover <akshit.grover2016@gmail.com>
2019-03-02 13:07:23 +05:30
slowr
b09d8802ed Added additional argument (--env-file) for docker-compose to import environment variables from a given PATH.
Signed-off-by: Dimitrios Mavrommatis <jim.mavrommatis@gmail.com>
2019-02-26 16:38:54 +01:00
Ulysses Souza
a35aef4953 Add --no-rm to command build
- When present, build does not remove
intermediate containers after a successful build.

Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
2019-02-20 18:09:09 +01:00
Collins Abitekaniza
c27132afad remove stopped containers on --remove-orphans
Signed-off-by: Collins Abitekaniza <abtcolns@gmail.com>

kill orphan containers, catch APIError Exception

Signed-off-by: Collins Abitekaniza <abtcolns@gmail.com>

test remove orphans with --no-start

Signed-off-by: Collins Abitekaniza <abtcolns@gmail.com>
2019-01-25 14:28:56 +03:00