docker - docker hub注册表:x509:证书由未知授权机构签名

标签 docker x509 ca

我已经花费了数小时来寻求解决此问题的方法,但是由于我发现的只是自定义注册表,因此找不到与该问题相关的任何主题。
通过https://registry-1.docker.io/v2/https://index.docker.io/v1运行连接到docker hub的任何docker命令时,所有请求均以“x509:未知权限签名的证书”结尾。但是,使用curl运行查询可以使相同的端点正常运行。

我已经完全重新安装了docker,清除了所有配置文件,但是似乎没有什么不同。

我有什么想念的吗?
docker info:

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 17.05.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9048e5e50717ea4497b757314bad98ea3763c145
runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.35-1-lts
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.34GiB
ID: 5Q4D:TLJF:3I3U:O522:VQMK:24BU:H5ND:UPOU:MWYS:WGTB:XFXR:BQES
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Ena

使用docker:
[user@hostname]$ docker search ubunut
Error response from daemon: Get https://index.docker.io/v1/search?q=ubunut&n=25: x509: certificate signed by unknown authority

使用curl:
[user@hostname]$ curl -v  https://index.docker.io/v1/search?q=ubunut&n=25
[1] 2152
[user@hostname]$ *   Trying 34.200.194.233...
* TCP_NODELAY set
* Connected to index.docker.io (34.200.194.233) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: OU=GT98568428; OU=See www.rapidssl.com/resources/cps (c)15; OU=Domain Control Validated - RapidSSL(R); CN=*.docker.io
*  start date: Mar 19 17:34:32 2015 GMT
*  expire date: Apr 21 01:51:52 2018 GMT
*  subjectAltName: host "index.docker.io" matched cert's "*.docker.io"
*  issuer: C=US; O=GeoTrust Inc.; CN=RapidSSL SHA256 CA - G3
*  SSL certificate verify ok.
> GET /v1/search?q=ubunut HTTP/1.1
> Host: index.docker.io
> User-Agent: curl/7.54.1
> Accept: */*
> 
< HTTP/1.1 200 OK
< Server: nginx/1.6.2
< Date: Wed, 05 Jul 2017 12:10:22 GMT
< Content-Type: application/json
< Transfer-Encoding: chunked
< Vary: Cookie
< X-Frame-Options: SAMEORIGIN
< Strict-Transport-Security: max-age=31536000
< 
{"num_pages": 1, "num_results": 21, "results": [{"is_automated": true, "name": "han4wluc/try-docker-ubunut-node", "is_trusted": true, ... *truncated*

最佳答案

我解决了如下问题:

  • 我删除了文件/etc/ssl/cert/ca-certificates.crt
  • 我运行了sudo pacman -S ca-certificates-utils命令。
  • 我使用systemctl restart docker命令重新启动了docker。

  • 我从此链接获得了此提示:

    https://unix.stackexchange.com/questions/339613/arch-linux-ca-certificates-crt-not-found/396169#396169

    关于docker - docker hub注册表:x509:证书由未知授权机构签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44925984/

    相关文章:

    ssl - AlphaSSL - "CA Bundle does not match the certificate"- 在 CPanel 中

    reactjs - 如何使用docker部署React(NextJS)项目?

    docker - (GCP) 错误 : (gcloud. builds.submit) INVALID_ARGUMENT : could not resolve source: googleapi: Error 403: 354778943856@cloudbuild. gserviceaccount.com

    docker - 在另一个 Docker 容器中运行 AirFlow 任务

    docker - 如何允许 docker 同级容器从现有卷绑定(bind)子目录

    javascript - 无法使用 x5c (x509) 公共(public)证书验证 JWT

    php - 如何在 PHP 中创建数字证书并导出到 .p12 文件?

    java - 通过使用 BouncyCaSTLe 进行 CSR 签名生成的证书被认为是不受信任的

    c# - 在 C# 中允许 CX509PrivateKeyClass 的 KeyProtection

    java - 在 Android 中使用 SSL