zoukankan      html  css  js  c++  java
  • docker常见问题修复方法

    一、运行容器报错:Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed

    解决:

    metadata目录在 docker info查看

    service docker stop
    thin_check /var/lib/docker/devicemapper/devicemapper/metadata
    thin_check --clear-needs-check-flag /var/lib/docker/devicemapper/devicemapper/metadata
    service docker start

    二、Error running DeviceCreate (ActivateDevice) dm_task_run failed

    重启docker服务器后 遇到 ‘device or resource busy’错误
    如果有container在运行的时候重启 docker 服务, 可能会导致 container无法启动, 错误信息类似于:

    Error response from daemon: Cannot start container zookeeper: Error getting container ddf1dd91bbf46dc648268327f8f7c6fffaf2f19cda5cf1d97fdc701016d4332c from driver devicemapper: Error mounting '/dev/mapper/docker-8:1-525372-ddf1dd91bbf46dc648268327f8f7c6fffaf2f19cda5cf1d97fdc701016d4332c' on '/var/lib/docker/devicemapper/mnt/ddf1dd91bbf46dc648268327f8f7c6fffaf2f19cda5cf1d97fdc701016d4332c': device or resource busy 2015/01/26 04:42:07 Error: failed to start one or more containers

    或者:

    d2859bd1f84b: Error pulling image (latest) from xxxxxx, Driver devicemapper failed to create image rootfs e6158e7962db43274de40fc3db65ad64811d43fe342dea633df20639f5a4e3cd: device e6158e7962db43274de40fc3db65ad64811d43fe342dea633df20639f5a4e3cd already exists 43fe342dea633df20639f5a4e3cd already exists c049b2b: Download complete e6158e7962db: Error downloading dependent layers

    解决:

    这是一个Docker的 bug ,解决方式是先找出没有umount的路径

    cat /proc/mounts | grep "mapper/docker" | awk '{print $2}'
    然后依次
    umount

    三、[8] System error: fork/exec /usr/bin/docker: cannot allocate memory问题

    The fix for me was to add swapspace. By default my digitalocean droplet didn’t come with any swap!

    dd if=/dev/zero of=/root/myswapfile bs=1M count=1024
    chmod 600 /root/myswapfile
    mkswap -f /root/myswapfile
    swapon /root/myswapfile

    四、 防火墙变动异常

    一般异常为:

    Error response from daemon: Cannot start container web: iptables failed: iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 32797 -j DNAT --to-destination 172.17.0.30:5000 ! -i docker0: iptables: No chain/target/match by that name.

    解决办法:重建docker0网络恢复:

    关闭当前防火墙

    service iptables stop
    重启docker重新建立防火墙规则
    service docker restart
    根据需求启停容器
    docker restart[stop] 容器号

    参考:https://blog.csdn.net/m0_38012126/article/details/83721501

  • 相关阅读:
    CentOs 7.3下ELK日志分析系统搭建
    01 使用Git基本方法
    02 网页换肤
    运行代码
    01 使用JavaScript原生控制div属性
    excel 删除了自动保存的文件,如何恢复
    Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!
    eclipse启动错误
    centos已安装gcc 4.8.2,gcc -version 也是4.8.2 但是被其他工具调用时,显示未调用4.8.2
    centos 6.4安装cmake
  • 原文地址:https://www.cnblogs.com/wxwgk/p/13856409.html
Copyright © 2011-2022 走看看