zoukankan      html  css  js  c++  java
  • ubuntu14.04下解决docker假死及更改docker存储位置

    解决docker假死

    在调整docker存储位置时,突然遇到docker命令无反应的情况,经过一段时间排查及搜集资料最终解决了假死的问题,并且成功改变了docker的默认存储位置。

    docker stop [容器名称]  命令无响应
    docker ps -a 查看容器运行状态无响应
    docker exec -it [容器名称] /bin/bash 进入docker无响应
    ...

    后备份了docker目录(/var/lib/docker),经过一番尝试之后,发现存在一些僵尸进程

    ps -ef | grep 'defunct' 查看具体信息

    最终确认了筛选出来的PPID就是对应的容器ID的进程,最终kill -9 ID 后top查看僵尸进程消失,一切恢复正常。

    docker目录迁移

    1.查看当前系统下docker所有正在运行的容器,并停止

    docker ps -a
    docker stop [容器名称/容器ID]

    2.停止docker服务

    sudo service docker stop

    3.将/var/lib/docker复制到数据盘下(注意复制后文件大小是否有变化)

    cp -r /var/lib/docker /数据盘/路径/docker

    4.删除/var/lib/docker内的数据

    rm -rf /var/lib/docker

    如果提示被占用,是由于挂载的原因,执行umount操作

    cat /proc/mounts
    找到docker相关挂载,执行umount操作
    umount /var/lib/docker
    再次执行删除操作
    rm -rf /var/lib/docker

    5.将复制后的docker软链接到安装目录下

    ln - s /数据盘/路径/docker /var/lib/docker  # 注意路径

    6.启动docker服务

    sudo service docker start

    7.启动已停止的容器

    docker start [容器名称/容器ID]
  • 相关阅读:
    优化网站性能之数据库架构篇
    使用 P3P 规范让 IE 跨域接受第三方 cookie
    使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署
    将代码库从 SVN 迁移至 Git 并保留所有 commit 记录
    如何高效利用GitHub
    Mysql bin-log日志文件处理
    man手册页
    glibc/libc/blib区别
    列式数据库的简单分析
    Linux中如何设置服务自启动?
  • 原文地址:https://www.cnblogs.com/yangjintao/p/13180803.html
Copyright © 2011-2022 走看看