Add --config for Docker compatibility

Fixes: https://github.com/containers/podman/issues/14767

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
Daniel J Walsh
2022-09-06 14:24:34 -04:00
parent 95eff1aa40
commit 1994f38232
3 changed files with 17 additions and 0 deletions

View File

@ -73,6 +73,7 @@ var (
defaultLogLevel = "warn"
logLevel = defaultLogLevel
dockerConfig = ""
debug bool
useSyslog bool
@ -85,6 +86,7 @@ func init() {
loggingHook,
syslogHook,
earlyInitHook,
configHook,
)
rootFlags(rootCmd, registry.PodmanConfig())
@ -311,6 +313,12 @@ func persistentPostRunE(cmd *cobra.Command, args []string) error {
return nil
}
func configHook() {
if dockerConfig != "" {
logrus.Warn("The --config flag is ignored by Podman. Exists for Docker compatibility")
}
}
func loggingHook() {
var found bool
if debug {
@ -363,6 +371,8 @@ func rootFlags(cmd *cobra.Command, opts *entities.PodmanConfig) {
lFlags.StringVarP(&opts.URI, "host", "H", uri, "Used for Docker compatibility")
_ = lFlags.MarkHidden("host")
lFlags.StringVar(&dockerConfig, "config", "", "Ignored for Docker compatibility")
_ = lFlags.MarkHidden("config")
// Context option added just for compatibility with DockerCLI.
lFlags.String("context", "default", "Name of the context to use to connect to the daemon (This flag is a NOOP and provided solely for scripting compatibility.)")
_ = lFlags.MarkHidden("context")

View File

@ -33,6 +33,7 @@ type PodmanConfig struct {
*config.Config
*pflag.FlagSet
DockerConfig string // Used for Docker compatibility
CgroupUsage string // rootless code determines Usage message
ConmonPath string // --conmon flag will set Engine.ConmonPath
CPUProfile string // Hidden: Should CPU profile be taken

View File

@ -29,6 +29,12 @@ function setup() {
local built=$(expr "$output" : ".*Built: \+\(.*\)" | head -n1)
local built_t=$(date --date="$built" +%s)
assert "$built_t" -gt 1546300800 "Preposterous 'Built' time in podman version"
run_podman -v
is "$output" "podman.*version \+" "'Version line' in output"
run_podman --config foobar version
is "$output" ".*The --config flag is ignored by Podman. Exists for Docker compatibility\+" "verify warning for --config option"
}
@test "podman info" {