Signed-off-by: Shijiang Wei <mountkin@gmail.com>
| ... | ... |
@@ -5,6 +5,7 @@ import ( |
| 5 | 5 |
|
| 6 | 6 |
"github.com/Sirupsen/logrus" |
| 7 | 7 |
"github.com/docker/docker/container" |
| 8 |
+ "github.com/docker/docker/daemon/logger" |
|
| 8 | 9 |
"github.com/docker/docker/image" |
| 9 | 10 |
"github.com/docker/docker/layer" |
| 10 | 11 |
"github.com/docker/docker/pkg/idtools" |
| ... | ... |
@@ -80,6 +81,11 @@ func (daemon *Daemon) create(params types.ContainerCreateConfig) (retC *containe |
| 80 | 80 |
} |
| 81 | 81 |
}() |
| 82 | 82 |
|
| 83 |
+ logCfg := container.GetLogConfig(daemon.defaultLogConfig) |
|
| 84 |
+ if err := logger.ValidateLogOpts(logCfg.Type, logCfg.Config); err != nil {
|
|
| 85 |
+ return nil, err |
|
| 86 |
+ } |
|
| 87 |
+ |
|
| 83 | 88 |
if err := daemon.setSecurityOptions(container, params.HostConfig); err != nil {
|
| 84 | 89 |
return nil, err |
| 85 | 90 |
} |
| ... | ... |
@@ -440,3 +440,11 @@ func (s *DockerSuite) TestCreateWithWorkdir(c *check.C) {
|
| 440 | 440 |
dockerCmd(c, "create", "--name", name, "-w", dir, "busybox") |
| 441 | 441 |
dockerCmd(c, "cp", fmt.Sprintf("%s:%s", name, dir), prefix+slash+"tmp")
|
| 442 | 442 |
} |
| 443 |
+ |
|
| 444 |
+func (s *DockerSuite) TestCreateWithInvalidLogOpts(c *check.C) {
|
|
| 445 |
+ name := "test-invalidate-log-opts" |
|
| 446 |
+ _, _, err := dockerCmdWithError("create", "--name", name, "--log-opt", "invalid=true")
|
|
| 447 |
+ c.Assert(err, checker.NotNil) |
|
| 448 |
+ out, _ := dockerCmd(c, "ps", "-a") |
|
| 449 |
+ c.Assert(out, checker.Not(checker.Contains), name) |
|
| 450 |
+} |