Phenomenon

overlay2 not such file or directory.
overlay2 not such file or directory.
network not such file or directory.
docker run ****

/usr/bin/docker-current: open /data0/docker-data/tmp/GetImageBlob742939759: no such file or directory.

Job for docker.service failed

[root@localhost file-center-wf-monitor]# systemctl  stopstop docker
[root@localhost file-center-wf-monitor]# service docker start
Redirecting to /bin/systemctl start docker.service
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
[root@localhost file-center-wf-monitor]# journalctl -xe
Apr 08 16:46:56 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Apr 08 16:46:56 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has failed.
--
-- The result is failed.
Apr 08 16:46:56 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
Apr 08 16:46:56 localhost.localdomain systemd[1]: docker.service failed.
Apr 08 16:46:56 localhost.localdomain polkitd[378650]: Unregistered Authentication Agent for unix-process:615774:734710755 (system bus name :1.130780, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
[root@localhost file-center-wf-monitor]# rm -rf /data0/docker_images/*
rm: cannot remove ‘/data0/docker_images/containers’: Device or resource busy
[root@localhost file-center-wf-monitor]# mount | grep /data0/docker_images
/dev/sda7 on /data0/docker_images/containers type ext4 (rw,relatime,data=ordered)
/dev/sda7 on /data0/docker_images/overlay type ext4 (rw,relatime,data=ordered)
[root@localhost file-center-wf-monitor]# umount /data0/docker_images/containers
[root@localhost file-center-wf-monitor]# rm -rf /data0/docker_images

init/merged: invalid argument.

[root@localhost file-center-wf-monitor]# service docker start
Error response from daemon: Cannot kill container file-center-wf-monitor-20200408: No such container: file-center-wf-monitor-20200408
Error response from daemon: No such container: file-center-wf-monitor-20200408
/usr/bin/docker-current: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/dd9b026441e21f3b74bd00dbb9cba667129b8aba342413fa9fa56f68202b582b-init/merged: invalid argument.
See '/usr/bin/docker-current run --help'.
[root@localhost data0]# systemctl status docker.service
● docker.service - Docker Application Container Engine {
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2020-04-08 16:54:09 CST; 6s ago
Docs: http://docs.docker.com
Process: 617751 ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY $REGISTRIES (code=exited, status=1/FAILURE)
Main PID: 617751 (code=exited, status=1/FAILURE) Apr 08 16:54:08 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
Apr 08 16:54:08 localhost.localdomain dockerd-current[617751]: time="2020-04-08T16:54:08.821786068+08:00" level=info msg="libcontainerd: new containerd process, pid: 617763"
Apr 08 16:54:09 localhost.localdomain dockerd-current[617751]: Error starting daemon: error initializing graphdriver: invalid argument
Apr 08 16:54:09 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Apr 08 16:54:09 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
Apr 08 16:54:09 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
Apr 08 16:54:09 localhost.localdomain systemd[1]: docker.service failed.

solution

  • 停止docker
[root@localhost file-center-wf-monitor]# systemctl  stopstop docker
  • 重装docker

    • 卸载docker及关键依赖

      yum list installed | grep docker
      yum remove docker-engine.x86_64
      yum remove docker-engine-selinux.noarch
      yum remove docker-engine.x86_64 docker-client.x86_64 docker-common.x86_64
      yum remove container-selinux.noarch
      • 删除docker 相关文件
      rm -rf /var/lib/docker/
      rm -rf /var/lib/docker
      rm -rf /data0/docker_images/overlay2/*
      rm -rf /data0/docker_images/*
      rm -rf /etc/sysconfig/docker*
      rm -rf /etc/systemd/system/docker.service.d
      • 不卸载会导致安装不上
      Package(s) docker available, but not installed.
      • 不删除可能导致卸载不完全
    • 安装docker

      yum -y install docker
  • 调整配置
[root@localhost file-center-wf-monitor]# vim /etc/docker/daemon.json
{
"graph": "/data0/docker_images",
"storage-driver": "overlay"
}
  • 重载服务
systemctl daemon-reload

  • 重启docker
service [start|restart] docker
  • 查看docker状态
systemctl status docker

conclusion

  • 本次问题根源是因为机器上某目录不可用,推测是由于历史docker版本残留导致
  • 调整docker graph后,问题解决。
  • 本文记录为解决当前问题过程中,所遇到的一系列问题和对应的操作。
  • yum安装docker,如果机器比较干净,安装会很顺利;如果历史安装过docker,会出现一系列问题。可以分别卸载docker的子package,并手动清除残留信息解决。
  • docker 镜像存储路径一定调整到系统数据盘,不然分分钟打满系统盘。
  • journalctl -xe 可以看到service信息(docker/mesos)
  • docker invalid argument不一定是启动的参数错误,一般不必调整/etc/systemd/system/docker.service.d/storage.conf/etc/sysconfig/docker-storage/etc/sysconfig/docker/etc/docker/daemon.json等文件。
  • /etc/sysconfig/docker配置可以关闭docker的selinux模式
# OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false'
OPTIONS='--log-driver=journald --signature-verification=false'
  • /etc/sysconfig/docker-storage配置可以调整docker存储(挂载目录)模式
DOCKER_STORAGE_OPTIONS=
  • /etc/sysconfig/docker-network配置可以调整docker网络模式
  • 通过/etc/systemd/system/docker.service.d/***.conf下的对应文件进行配置,同样生效
  • docker启动时,本地目录权限、状态、挂载都应确认清楚,避免发生异常。

docker-run-failed的更多相关文章

  1. docker Failed to get D-Bus connection 报错 docker run -e MYVAR1 --env MYVAR2=foo --env-file ./env.list ubuntu bash

    docker Failed to get D-Bus connection 报错 原创憬薇2016-01-15 11:25:26评论(10)40278人阅读   在centos7的容器里面出现了一个B ...

  2. 【云计算】docker run详解

    Docker学习总结之Run命令介绍 时间 2015-01-21 17:06:00                                               博客园精华区       ...

  3. docker 报错: Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

    centos 启动docker服务报错: Job for docker.service failed because the control process exited with error cod ...

  4. docker run、commit报错

    1.docker commit 报错 Error response from daemon: devmapper: Error mounting '/dev/mapper/docker-253:2-1 ...

  5. DOCKER启动失败Job for docker.service failed because the control process exited with error code. See "syste mctl status docker.service" and "journalctl -xe" for details.

    [root@localhost ~]# systemctl start docker Job for docker.service failed because the control process ...

  6. 【Docker】Failed to get D-Bus connection: Operation not permitted解决

    ------------------------------------------------------------------------------------------------- | ...

  7. Job for docker.service failed because start of the service was attempted too often. See "systemctl status docker.service" and "journalctl -xe" for details. To force a start use "systemctl reset-failed

    安装docker时,自己添加了国内的hub.docker.com镜像 [root@ce-docker ~]# systemctl restart docker 出现以下报错:Job for docke ...

  8. docker run elasticsearch

    docker run -d --name=esNode1 -p 9200:9200 -p 9300:9300 elasticsearch:2.3 -Des.network.publish_host=& ...

  9. docker run mysql

    sudo docker run --name=mysqlserver -e MYSQL_ROOT_PASS=123456 -v /srv/mysql/data:/data/mysql -d -p : ...

  10. Docker run命令详解 转

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Usage: doc ...

随机推荐

  1. rnacos——用rust重新实现的nacos开源配置、注册中心服务

    1. 简介 rnacos 是一个用rust实现的nacos服务. rnacos是一个轻量.快速.稳定的服务,包含注册中心.配置中心.web管理控制台功能. rnacos兼容nacos client s ...

  2. 【python爬虫】bilibili每周必看页面视频图片爬取

    此博客仅作为交流学习 对于使用bilibili上学习和娱乐的小伙伴们有时会看到视频博主发布的视频封面好看想要得到,但是苦于没有方法,这次我用python来爬取bilibili每周必看页面视频图片. 首 ...

  3. selenium web控件的交互进阶

    Action ActionChains: 执行PC端的鼠标点击,双击,右键,拖曳等事件 TouchActions: 模拟PC和移动端的点击,滑动,拖曳,多点触控等多种手势操作 动作链接 ActionC ...

  4. 富文本编辑器 VUE-QUILL-EDITOR 使用教程 (最全)

    VUE-QUILL-EDITOR 基于 QUILL.适用于 VUE 的富文本编辑器,支持服务端渲染和单页应用,非常高效简洁. 一.基础用法 1.NPM 导入 VUE-QUILL-EDITOR npm ...

  5. 2022-07-19:f(i) : i的所有因子,每个因子都平方之后,累加起来。 比如f(10) = 1平方 + 2平方 + 5平方 + 10平方 = 1 + 4 + 25 + 100 = 130。

    2022-07-19:f(i) : i的所有因子,每个因子都平方之后,累加起来. 比如f(10) = 1平方 + 2平方 + 5平方 + 10平方 = 1 + 4 + 25 + 100 = 130. ...

  6. 啊哈C语言案例学习笔记

    Hello World #include<stdio.h> /* 技术要点: 初学者在编写程序时,经常会忘记在语句后边添加分号, */ int main() { printf(" ...

  7. 2023-05-21:给定一个字符串 s 和一个整数 k 。你可以从 s 的前 k 个字母中选择一个, 并把它加到字符串的末尾。 返回 在应用上述步骤的任意数量的移动后,字典上最小的字符串。 输入:s

    2023-05-21:给定一个字符串 s 和一个整数 k .你可以从 s 的前 k 个字母中选择一个, 并把它加到字符串的末尾. 返回 在应用上述步骤的任意数量的移动后,字典上最小的字符串. 输入:s ...

  8. 【VS Code+Qt6】拖放操作

    由于老周的示例代码都是用 VS Code + CMake + Qt 写的,为了不误导人,在标题中还是加上"VS Code"好一些. 上次咱们研究了剪贴板的基本用法,也了解了叫 QM ...

  9. 瞄准程序员招聘痛点,ShowMeBug让面试代码操作可“回放”

    程序员虽然是建设互联网的职业之一,但他们的招聘工作的线上化却有不少难题. 疫情加速了市场对远程办公.远程面试.远程教学等模式的接受程度,但程序员招聘涉及到代码能力测试,甚至不同企业有不同的产品代码基础 ...

  10. 上下文管理者(ServletContext)

    作用1.获取全局初始化参数2.资源共享(servlet通信) 能让上下文呢的Servlet相互关联起来3.获取资源文件 生命周期创建服务器启动的时候会为每个项目创建一个servletContext上下 ...