Fallback to finding docker image name from compose ps

Earlier versions of docker do not include the image name in the inspect
output. We now fallback to using the `compose ps` response.

Closes gh-34993
This commit is contained in:
Phillip Webb
2023-04-15 18:37:25 -07:00
parent 24d1620a93
commit efff253d35
2 changed files with 33 additions and 20 deletions

View File

@@ -45,11 +45,12 @@ class DefaultRunningService implements RunningService, OriginProvider {
private DockerEnv env;
DefaultRunningService(DockerHost host, DockerComposeFile composeFile, DockerCliComposePsResponse psResponse,
DefaultRunningService(DockerHost host, DockerComposeFile composeFile, DockerCliComposePsResponse composePsResponse,
DockerCliInspectResponse inspectResponse) {
this.origin = new DockerComposeOrigin(composeFile, psResponse.name());
this.name = psResponse.name();
this.image = ImageReference.of(psResponse.image());
this.origin = new DockerComposeOrigin(composeFile, composePsResponse.name());
this.name = composePsResponse.name();
this.image = ImageReference
.of((composePsResponse.image() != null) ? composePsResponse.image() : inspectResponse.config().image());
this.host = host;
this.ports = new DefaultConnectionPorts(inspectResponse);
this.env = new DockerEnv(inspectResponse.config().env());