diff --git a/pkg/api/handlers/compat/containers_create.go b/pkg/api/handlers/compat/containers_create.go index 811305341c..03acff66e4 100644 --- a/pkg/api/handlers/compat/containers_create.go +++ b/pkg/api/handlers/compat/containers_create.go @@ -483,7 +483,7 @@ func cliOpts(cc handlers.CreateContainerConfig, rtc *config.Config) (*entities.C // This also handles volumes duplicated between cc.HostConfig.Mounts and // cc.Volumes, as seen in compose v2.0. for vol := range cc.Volumes { - if _, ok := volDestinations[filepath.Clean(vol)]; ok { + if _, ok := volDestinations[vol]; ok { continue } cliOpts.Volume = append(cliOpts.Volume, vol) diff --git a/test/apiv2/20-containers.at b/test/apiv2/20-containers.at index 7cfe161de4..7840ea5242 100644 --- a/test/apiv2/20-containers.at +++ b/test/apiv2/20-containers.at @@ -357,6 +357,15 @@ t GET containers/$cid/json 200 \ t DELETE containers/$cid?v=true 204 +# Test Volumes with bind mount, for some reason docker-py sets this #18454 +t POST containers/create Image=$IMAGE Volumes='{"/test/":{}}' HostConfig='{"Binds":["/tmp:/test/:ro"]}' 201 \ + .Id~[0-9a-f]\\{64\\} +cid=$(jq -r '.Id' <<<"$output") +t GET containers/$cid/json 200 \ + .Mounts[0].Destination="/test/" + +t DELETE containers/$cid?v=true 204 + # test port mapping podman run -d --rm --name bar -p 8080:9090 $IMAGE top