Skip to content

Commit

Permalink
Add container config to compat image inspect
Browse files Browse the repository at this point in the history
With docker-compose, there is a use case where you can `docker-compose
up -d`, then change a file like docker-compose.yml and run up again.
This requires a ContainerConfig with at least Volumes be populated in
the inspect data.  This PR adds just that.

Fixes: containers#10795

Signed-off-by: Brent Baude <bbaude@redhat.com>
  • Loading branch information
baude committed Jul 9, 2021
1 parent 43abe00 commit daebdf3
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 19 deletions.
43 changes: 24 additions & 19 deletions pkg/api/handlers/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -232,27 +232,32 @@ func ImageDataToImageInspect(ctx context.Context, l *libimage.Image) (*ImageInsp
Name: info.GraphDriver.Name,
Data: info.GraphDriver.Data,
}
// Add in basic ContainerConfig to satisfy docker-compose
cc := new(dockerContainer.Config)
cc.Hostname = info.ID[0:11] // short ID is the hostname
cc.Volumes = info.Config.Volumes

dockerImageInspect := docker.ImageInspect{
Architecture: info.Architecture,
Author: info.Author,
Comment: info.Comment,
Config: &config,
Created: l.Created().Format(time.RFC3339Nano),
DockerVersion: info.Version,
GraphDriver: graphDriver,
ID: "sha256:" + l.ID(),
Metadata: docker.ImageMetadata{},
Os: info.Os,
OsVersion: info.Version,
Parent: info.Parent,
RepoDigests: info.RepoDigests,
RepoTags: info.RepoTags,
RootFS: rootfs,
Size: info.Size,
Variant: "",
VirtualSize: info.VirtualSize,
Architecture: info.Architecture,
Author: info.Author,
Comment: info.Comment,
Config: &config,
ContainerConfig: cc,
Created: l.Created().Format(time.RFC3339Nano),
DockerVersion: info.Version,
GraphDriver: graphDriver,
ID: "sha256:" + l.ID(),
Metadata: docker.ImageMetadata{},
Os: info.Os,
OsVersion: info.Version,
Parent: info.Parent,
RepoDigests: info.RepoDigests,
RepoTags: info.RepoTags,
RootFS: rootfs,
Size: info.Size,
Variant: "",
VirtualSize: info.VirtualSize,
}
// TODO: consider filling the container config.
return &ImageInspect{dockerImageInspect}, nil
}

Expand Down
2 changes: 2 additions & 0 deletions test/compose/uptwice/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FROM alpine
WORKDIR /app
5 changes: 5 additions & 0 deletions test/compose/uptwice/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
version: '3'
services:
app:
build: .
command: sleep 10002
4 changes: 4 additions & 0 deletions test/compose/uptwice/tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# -*- bash -*-

sed -i -e 's/10001/10002/' docker-compose.yml
docker-compose up -d

0 comments on commit daebdf3

Please sign in to comment.