зеркало из https://github.com/microsoft/docker.git
Don't env-var evaluate labels from docker build cmd line
Fixes #26027 Signed-off-by: Doug Davis <dug@us.ibm.com>
This commit is contained in:
Родитель
e097c2a938
Коммит
28a9a7deb0
|
@ -229,7 +229,7 @@ func (b *Builder) build(stdout io.Writer, stderr io.Writer, out io.Writer) (stri
|
|||
if len(b.options.Labels) > 0 {
|
||||
line := "LABEL "
|
||||
for k, v := range b.options.Labels {
|
||||
line += fmt.Sprintf("%q=%q ", k, v)
|
||||
line += fmt.Sprintf("%q='%s' ", k, v)
|
||||
}
|
||||
_, node, err := parser.ParseLine(line, &b.directive)
|
||||
if err != nil {
|
||||
|
|
|
@ -6638,6 +6638,19 @@ func (s *DockerSuite) TestBuildLabelsOverride(c *check.C) {
|
|||
c.Fatalf("Labels %s, expected %s", res, expected)
|
||||
}
|
||||
|
||||
// Command line option labels with env var
|
||||
name = "scratchz"
|
||||
expected = `{"bar":"$PATH"}`
|
||||
_, err = buildImage(name,
|
||||
`FROM scratch`,
|
||||
true, "--label", "bar=$PATH")
|
||||
c.Assert(err, check.IsNil)
|
||||
|
||||
res = inspectFieldJSON(c, name, "Config.Labels")
|
||||
if res != expected {
|
||||
c.Fatalf("Labels %s, expected %s", res, expected)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Test case for #22855
|
||||
|
|
Загрузка…
Ссылка в новой задаче