zoukankan      html  css  js  c++  java
  • docker pull报x509问题及docker启动失败问题解决

    docker pull 报x509

    最近通过docker pull拉取私有仓库镜像出错,具体报错(证书问题):

    docker pull 私有仓库ip/资源路径
    

    x509: certificate has expired or is not yet valid

    要注意。如果报509问题通常两方面原因:

    • 1.系统时间不同步
    • 2.证书问题,daemon.json文件配置有问题

    1.系统时间不同步-解决方案

    先使用date命令查看系统当前时间,如果明显有问题,就要用到另外一个工具:ntpdate,如果没有此命令,安装即可,ubuntu: apt install -y ntpdate,centos: yum install -y ntpdate

    首先更新时间:

    # 更新时间同步:
    ntpdate cn.pool.ntp.org
    

    然后从新拉取镜像,应该此问题就可以解决。

    2.daemon.json文件配置有问题

    证书的问题需要编辑 daemo.json 文件:vi /etc/docker/daemon.json

    参考格式如下:

    {
       "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
       "insecure-registries":[
          "172.xx.xxx.xxx:4433",   
          "reg-cloud.xxxxx.com"
       ]
    }
    

    注意编辑的时候,格式,单词拼写,符号等不要出错。

    保存后,重新载入配置,然后重启docker:

    # systemctl daemon-reload
    
    # service docker restart 或者 systemctl restart docker
    

    docker pull 公有仓库报x509错误

    具体见如下:

    Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate signed by unknown authority

    这个问题是本机没有远程仓库的证书文件(远程仓库是https://方式访问的)

    解决方式简单:
    输入以下命令
    echo -n | openssl s_client -showcerts -connect registry-1.docker.io:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> /etc/ssl/certs/ca-certificates.crt
    注意,每个人的情况可能不一样,对应pull的仓库用自己的domain,例如我的就是:registry-1.docker.io

    更换后,重启docker:service docker restart

    然后就可以正常pull镜像了:

    link: docker X509 证书错误的终极解决办法

    docker启动报错

    docker启动的时候,报错:
    Failed to start Docker Application Container Engine

    该问题一般还是用户配置有问题导致,即上文提到的daemon.json,正确配置后重启docker,问题应该解决。

  • 相关阅读:
    当算法提升到哲学层面—小议验证码识别
    2014总结
    [脚本无敌2]python获取cocos 2dx项目文件列表
    单幅图构建三维图
    [思考]画个圈圈诅咒你
    Mybatis2
    Mybatis1
    淘淘商城虚拟机启动命令
    Zookeeper集群搭建zookeeper01启动不成功解决方案
    Mybatis的xml文件的相关配置
  • 原文地址:https://www.cnblogs.com/davis12/p/14479377.html
Copyright © 2011-2022 走看看