dockerhub注册:x509:由未知权威机构签名的证书

我花了几个小时寻找解决这个问题,但我无法find任何有关这个问题的话题,因为我find的都是自定义注册。 当运行连接到docker hub的任何docker命令时,通过https://registry-1.docker.io/v2/或https://index.docker.io/v1 ,所有请求都以“x509:由未知权威机构签署的证书“。 然而,使用curl来运行查询相同的端点似乎function正常。

我已经完全重新安装docker,清除所有的configuration文件,但它似乎没有什么差别。

任何我失踪?

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* 

我解决了这个问题,如下所示:

  1. 我删除了/etc/ssl/cert/ca-certificates.crt文件。
  2. 我运行命令sudo pacman -S ca-certificates-utils
  3. 我使用systemctl restart docker命令systemctl restart docker

我从这个链接得到了这个提示:

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