{"id":"7f202d00eba3b3cb","repo":"docker/cli","slug":"invalid-publish-opts-format-should-be-name-value","errorCode":null,"errorMessage":"invalid publish opts format (should be name=value but got '%s')","messagePattern":"invalid publish opts format \\(should be name=value but got '(.+?)'\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/command/container/opts.go","lineNumber":908,"sourceCode":"\tif ep.MacAddress != \"\" {\n\t\tma, err := net.ParseMAC(strings.TrimSpace(ep.MacAddress))\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"%s is not a valid mac address\", ep.MacAddress)\n\t\t}\n\t\tepConfig.MacAddress = network.HardwareAddr(ma)\n\t}\n\treturn epConfig, nil\n}\n\nfunc convertToStandardNotation(ports []string) ([]string, error) {\n\toptsList := []string{}\n\tfor _, publish := range ports {\n\t\tif strings.Contains(publish, \"=\") {\n\t\t\tparams := map[string]string{\"protocol\": \"tcp\"}\n\t\t\tfor param := range strings.SplitSeq(publish, \",\") {\n\t\t\t\tk, v, ok := strings.Cut(param, \"=\")\n\t\t\t\tif !ok || k == \"\" {\n\t\t\t\t\treturn optsList, fmt.Errorf(\"invalid publish opts format (should be name=value but got '%s')\", param)\n\t\t\t\t}\n\t\t\t\tparams[k] = v\n\t\t\t}\n\t\t\toptsList = append(optsList, fmt.Sprintf(\"%s:%s/%s\", params[\"published\"], params[\"target\"], params[\"protocol\"]))\n\t\t} else {\n\t\t\toptsList = append(optsList, publish)\n\t\t}\n\t}\n\treturn optsList, nil\n}\n\nfunc parseLoggingOpts(loggingDriver string, loggingOpts []string) (map[string]string, error) {\n\tloggingOptsMap := opts.ConvertKVStringsToMap(loggingOpts)\n\tif loggingDriver == \"none\" && len(loggingOpts) > 0 {\n\t\treturn map[string]string{}, fmt.Errorf(\"invalid logging opts for driver %s\", loggingDriver)\n\t}\n\treturn loggingOptsMap, nil\n}","sourceCodeStart":890,"sourceCodeEnd":926,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/cli/command/container/opts.go#L890-L926","documentation":"Error \"invalid publish opts format (should be name=value but got '%s')\" thrown in docker/cli.","triggerScenarios":"Thrown at cli/command/container/opts.go:908 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"e9452d6e785f6e365712b9d71bd7517591773c86","analyzedAt":"2026-08-01T07:09:22.474Z","schemaVersion":2}