• 【解决】Docker Errors


    【问题一】OCI runtime exec failed......executable file not found in $PATH": unknown

    [root@localhost home]# docker exec -it container-test bash
    OCI runtime exec failed: exec failed: container_linux.go:346: starting container process caused "exec: "bash": executable file not found in $PATH": unknown

    【分析】

      由于镜像系统不一,使用错误shell解释器导致,可尝试以下其中一种方案。

    【解决】

    docker exec -it container-test /bin/bash

    docker exec -it container-test /bin/sh

    docker exec -it container-test /bin/csh

    【问题二】http: server gave HTTP response to HTTPS client

    $ docker push xxx.xxx.xxx.xxx:5000/java-8
    The push refers to repository [xxx.xxx.xxx.xxx/java-8]
    Get https://xxx.xxx.xxx.xxx:5000/v2/: http: server gave HTTP response to HTTPS client

    【分析】

      Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务导致。

    【解决】

    # 修改启动文件第12行
    # vim /usr/lib/systemd/system/docker.service
    # ExecStart=/usr/bin/dockerd --insecure-registry xxx.xxx.xxx.xxx:5000

    # 或者增加deamon.json文件配置
    $ vim /etc/docker/daemon.json { "insecure-registries":["xxx.xxx.xxx.xxx:5000"] }
    # 最后重启服务
    $ systemctl daemon-reload $ systemctl restart docker

    【问题三】getsockopt: connection refused

    【分析】

      没有指定镜像要上传的具体地址导致。

    【解决】

    docker tag <image> <ip:port/image>
    docker push ip:port/image 

    【问题四】Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    【分析】

      异常卸载关闭导致。

    【解决】

    $ systemctl daemon-reload
    $ sudo service docker restart
    $ sudo service docker status (should see active (running))

    【问题五】Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

    【分析】

      修改daemon配置文件/etc/docker/daemon.json来使用加速器导致

    【解决】

      1、删除 "registry-mirrors": ["镜像加速地址"]

      2、把daemon.json 改为 daemon.conf

    【问题六】image jmdiservice:1206 could not be accessed on a registry to record its digest. 

    Each node will access jmdiservice:1206 independently, possibly leading to different nodes running different versions of the image.

     

    【分析】

       创建service时未指定registry地址(这样主节点也可以创建成功,这因为主节点本地存在该镜像),但是同样会导致子节点获取的镜像时也使用本地缓存,也就有可能导致使用的镜像不一致,或者获取不到。

    【解决】

      指定registry地址即可。

     

    【问题】error pulling image configuration: Get https:// ...... x509: certificate has expired or is not yet valid

    进行镜像拉取时报错

    【分析】

      很多人会被第一句所蒙蔽,按照网上教程进行修改etc/sysconfig/docker,之后发现还是没有用。

      其实这里重点是最后一句"certificate has expired",这里一般是本地时间不正确导致证书验证过期,同步时间即可。

    【解决】

    复制代码
    # 首先查看时间与时区
    date -R

    # 时区不正确更新命令
    cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    # 时间不正确更新命令
    ntpdate ntp.api.bz  # 命令安装: yum install ntp
    # 手工方式更新
    date -s "2019-12-12 20:12:30"
    复制代码
  • 相关阅读:
    C#中using的使用方法
    Silverlight性能优化纪要原作者Jossef Goldberg
    ASP.NET 获取客户端IP地址
    Silverlight性能优化【转】
    WCF 异常集
    js 其他事件
    ajax等待层
    DEVEXPRESS 破解方法
    类型“Microsoft.Office.Interop.Word.ApplicationClass”未定义构造函数
    js表单相关事件
  • 原文地址:https://www.cnblogs.com/leozhanggg/p/11796810.html
Copyright © 2020-2023  润新知