474 Commits

Author SHA1 Message Date
Guillaume Tardif
e441fbba5a Add compose labels for network
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-11-26 15:45:25 +01:00
Nicolas De Loof
0f4bcb9f17
Build and pull in parallel with BuildKit
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-26 14:11:40 +01:00
Nicolas De Loof
a0b609a5dd
implement service image build by BuildKit
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-26 14:07:53 +01:00
Guillaume Tardif
24328c4620 Add container labels to improve compatibility with docker-compose
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-11-25 17:53:12 +01:00
Ulysses Souza
794a182bdd Avoid port collision with compose up test
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-11-24 11:10:17 -03:00
Ulysses Souza
8f8b97d031 Fix linter issues when running make lint
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-11-23 17:05:40 -03:00
Djordje Lukic
5ffdaa5cca Use json progress message
It contains the same output that `docker pull` shows

Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-11-23 10:00:13 +01:00
Djordje Lukic
be40bdb032 Remove useless Done in the progress writer
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-11-22 17:30:28 +01:00
Djordje Lukic
5cf5410bc8 Detect cycles
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-11-21 23:58:12 +01:00
Djordje Lukic
1f43b83409 Use a dependency graph to start services
The algorithm is like so:
* get all the leaves of the graph, these are all the service that don't have any dependency
* once a service is started we take the list of its parents (dependents)
* if all the dependencies of each of those dependents are started then we can start it as well
* if not then we continue to the next dependent

Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-11-21 22:30:32 +01:00
Guillaume Tardif
aa534979bc First local compose e2e tests
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-11-20 18:06:11 +01:00
Nicolas De Loof
98cc5cc1eb
Fix processing dependency graph only onces per node
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-20 17:56:27 +01:00
Nicolas De loof
b3f406f410
Merge pull request #924 from docker/dependecy_order 2020-11-20 15:45:15 +01:00
Nicolas De Loof
eeb09d9e80
apply linter recommendations
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-19 17:35:34 +01:00
Nicolas De Loof
e7284e76e9
Process services in dependency order as a graph
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-19 17:31:58 +01:00
Guillaume Tardif
ff84803546 compose ps implementation
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-11-19 13:34:43 +01:00
Nicolas De Loof
7c7e75ca00
Ensure extensions map is not nil (should be set by compose-go)
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-19 13:10:55 +01:00
Nicolas De Loof
251c52664a
Implement service_healthy dependency condition
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-19 13:10:55 +01:00
Nicolas De Loof
adb62e9080
Run convergence in service dependency order
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-19 13:10:13 +01:00
Guillaume Tardif
9f594abd85 Local compose ls implementation
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-11-19 09:48:54 +01:00
Guillaume Tardif
51142827e7 Fix linter errors
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-11-18 17:18:41 +01:00
Nicolas De Loof
eb60bbb74f
define const for labels
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 15:56:39 +01:00
Nicolas De Loof
2278370ffa
Handle service scale with container numbering
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 15:15:27 +01:00
Guillaume Tardif
da99ad40d5 Fix logs (concurrent access to container.ID, logs was displaying the first container logs for every container)
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-11-17 15:13:36 +01:00
Nicolas De Loof
a701fd7601
Negociate API version with docker engine
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 13:44:51 +01:00
Nicolas De Loof
46cbb908fe
Target docker/docker 19.03 branch (api 1.40)
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 13:28:58 +01:00
Nicolas De Loof
6346db1d6f
Move reconciliation logic into convergence.go
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 11:31:14 +01:00
Nicolas De Loof
8310bb2a91
Create services in dependency order
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 11:31:14 +01:00
Djordje Lukic
744aebc3fd
"Already exists" also means the pull finished
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-11-17 11:31:14 +01:00
Djordje Lukic
b0ee6d285a
Update docker/docker to be able to run this on a Mac, use goroutines when starting a stack
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-11-17 11:31:13 +01:00
Nicolas De Loof
9fdf69ea9c
Handle container (re)create/(re)start on compose up
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 11:29:12 +01:00
Nicolas De Loof
0d33e5cdcc
report docker resources creation in progress
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 11:28:50 +01:00
Nicolas De Loof
7944a1b94f
implement image pull on compose up with progress
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 11:28:49 +01:00
Nicolas De Loof
74de423cc3
reuse ECS logConsumer to implement formatted compose log output
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 11:28:08 +01:00
Nicolas De Loof
3f52508efe
Skeletton implementation for compose commands
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 11:28:08 +01:00
Nicolas De Loof
85ec312461
convert compose model into moby API types to prepare "up" local implementation
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2020-11-17 11:28:08 +01:00
Chris Crone
74a27541e4 backend.local: Add volume e2e test
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 15:50:28 +01:00
Chris Crone
db3a14694b backend.local: Add command support
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 10:43:04 +01:00
Chris Crone
42eb0ecc35 backend.local: Add rudimentary volume support
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 09:54:29 +01:00
Chris Crone
637dd263c9 backend.local: Refactor container service
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 09:54:29 +01:00
Chris Crone
b2dcae685a backend.local: Add restart policy support to run
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 09:54:29 +01:00
Chris Crone
b8adb4b3dd backend.local: Refactor conversion code
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 09:54:29 +01:00
Chris Crone
6a9eca9bdf backend.local: Add memory limits
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 09:54:29 +01:00
Chris Crone
47aa069a3d backend.local: Add CPU limits
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 09:54:29 +01:00
Chris Crone
42f31d3129 backend.local: Improve inspect
* Add restart policy
* Add environment
* Add labels
* Add auto remove

Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 09:54:29 +01:00
Chris Crone
dce884d5c8 backend.local: Set environment on run
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-11-04 09:54:29 +01:00
Chris Crone
25e6a18fef backend: Add --rm support to local backend
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-10-30 18:19:02 +01:00
Guillaume Tardif
7cf7b00584 Add ResourceService definition and ACI NOOP implementation
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-10-14 15:40:24 +02:00
Chris Crone
d154c41586 Update copyright
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-09-22 12:13:00 +02:00
Guillaume Tardif
08562b403e Connecting it all
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-08 15:30:50 +02:00