Merge pull request #11592 from Luap99/runlabel-name

container runlabel remove image tag from name
This commit is contained in:
OpenShift Merge Robot
2021-09-15 15:03:58 -04:00
committed by GitHub
2 changed files with 21 additions and 0 deletions

View File

@ -133,6 +133,9 @@ func generateRunlabelCommand(runlabel string, img *libimage.Image, inputName str
}
splitImageName := strings.Split(normalize, "/")
name = splitImageName[len(splitImageName)-1]
// make sure to remove the tag from the image name, otherwise the name cannot
// be used as container name because a colon is an illegal character
name = strings.SplitN(name, ":", 2)[0]
}
// Append the user-specified arguments to the runlabel (command).

View File

@ -22,6 +22,10 @@ var GlobalDockerfile = fmt.Sprintf(`
FROM %s
LABEL RUN echo \$GLOBAL_OPTS`, ALPINE)
var PodmanRunlabelNameDockerfile = fmt.Sprintf(`
FROM %s
LABEL RUN podman run --name NAME IMAGE`, ALPINE)
var _ = Describe("podman container runlabel", func() {
var (
tempdir string
@ -128,4 +132,18 @@ var _ = Describe("podman container runlabel", func() {
result.WaitWithDefaultTimeout()
Expect(result).Should(Exit(0))
})
It("podman container runlabel name removes tag from image", func() {
image := "podman-runlabel-name:sometag"
podmanTest.BuildImage(PodmanRunlabelNameDockerfile, image, "false")
result := podmanTest.Podman([]string{"container", "runlabel", "--display", "RUN", image})
result.WaitWithDefaultTimeout()
Expect(result).Should(Exit(0))
Expect(result.OutputToString()).To(Equal("command: " + podmanTest.PodmanBinary + " run --name podman-runlabel-name localhost/" + image))
result = podmanTest.Podman([]string{"rmi", image})
result.WaitWithDefaultTimeout()
Expect(result).Should(Exit(0))
})
})