docker Error: credentials key has https[s]:// prefix

docker Error: credentials key has https[s]:// prefix

$ docker login -u uploader -p ****** http://10.11.20.186:8082              [14:13:41]
Error: credentials key has https[s]:// prefix

$ docker -v                                                                  [14:28:20]
podman version 3.4.1-dev

$ cat /etc/os-release                                                        [14:28:59]
NAME="CentOS Stream"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Stream 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"

sheng@B-Product-U-WEB01 /etc/containers/registries.conf.d
$ cat 003-nexus.conf                                                         [14:45:28]
[[registry]]
prefix = "10.11.20.186:8082"
location = "10.11.20.186:8082"
insecure = true

我想登录到我的 Nexus 存储库管理器。 但是,当我尝试执行此操作时出现错误。

错误:凭证密钥有 https[s]:// 前缀

dnf 降级 podman-docker -y

sheng@B-Product-U-WEB01 /etc/containers/registries.conf.d
$ docker -v                                                                  [17:27:36]
podman version 3.3.0-dev

sheng@B-Product-U-WEB01 /etc/containers/registries.conf.d
$ docker login -u uploader -p ****** https://10.11.20.186:8082             [17:27:38]
Login Succeeded!

工作正常

docker login -u uploader -p 1qaz2wsx 10.11.20.186:8082

这应该可以在不降级的情况下使用。只需删除 'https://'.

我的 Jenkins 需要 https://,没有它,它会失败

java.net.MalformedURLException: no protocol: quay.io
    at java.net.URL.<init>(URL.java:611)
    at java.net.URL.<init>(URL.java:508)
    at java.net.URL.<init>(URL.java:457)
    at org.jenkinsci.plugins.docker.commons.credentials.DockerRegistryEndpoint.getEffectiveUrl(DockerRegistryEndpoint.java:145)
    at org.jenkinsci.plugins.docker.commons.credentials.DockerRegistryEndpoint.newKeyMaterialFactory(DockerRegistryEndpoint.java:300)
    at org.jenkinsci.plugins.docker.workflow.RegistryEndpointStep$Execution2.newKeyMaterialFactory(RegistryEndpointStep.java:95)
    at org.jenkinsci.plugins.docker.workflow.AbstractEndpointStepExecution2.doStart(AbstractEndpointStepExecution2.java:52)
    at org.jenkinsci.plugins.workflow.steps.GeneralNonBlockingStepExecution.lambda$run[=10=](GeneralNonBlockingStepExecution.java:77)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:750)

解决方案原来是通过dnf upgrade将系统升级到最新版本的RHEL 8.6软件包。现在我有

# docker --version
podman version 4.0.2

这让我可以毫无怨言地使用 https:// 前缀。