summaryrefslogtreecommitdiff
path: root/pkg/specgen/generate/container_create.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-01-26 16:59:57 +0100
committerGitHub <noreply@github.com>2021-01-26 16:59:57 +0100
commitad1e0bb77f56499ff22eeb8123aaab8e57a43c03 (patch)
tree2d51bab04ef8f221273d3f9d18aceb847daf5dc1 /pkg/specgen/generate/container_create.go
parent41dd1eb8a22f6ac70dd48b53993c9d6ce4476eb4 (diff)
parent0f668aa0857815f388ef1bb880efa4b2e889edaf (diff)
downloadpodman-ad1e0bb77f56499ff22eeb8123aaab8e57a43c03.tar.gz
podman-ad1e0bb77f56499ff22eeb8123aaab8e57a43c03.tar.bz2
podman-ad1e0bb77f56499ff22eeb8123aaab8e57a43c03.zip
Merge pull request #9054 from vrothberg/fix-9040
make sure the workdir exists on container mount
Diffstat (limited to 'pkg/specgen/generate/container_create.go')
-rw-r--r--pkg/specgen/generate/container_create.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/pkg/specgen/generate/container_create.go b/pkg/specgen/generate/container_create.go
index 4f36744ca..1bc050b00 100644
--- a/pkg/specgen/generate/container_create.go
+++ b/pkg/specgen/generate/container_create.go
@@ -272,10 +272,18 @@ func createContainerOptions(ctx context.Context, rt *libpod.Runtime, s *specgen.
if s.Entrypoint != nil {
options = append(options, libpod.WithEntrypoint(s.Entrypoint))
}
- // If the user did not set an workdir but the image did, ensure it is
- // created.
+ // If the user did not specify a workdir on the CLI, let's extract it
+ // from the image.
if s.WorkDir == "" && img != nil {
options = append(options, libpod.WithCreateWorkingDir())
+ wd, err := img.WorkingDir(ctx)
+ if err != nil {
+ return nil, err
+ }
+ s.WorkDir = wd
+ }
+ if s.WorkDir == "" {
+ s.WorkDir = "/"
}
if s.StopSignal != nil {
options = append(options, libpod.WithStopSignal(*s.StopSignal))