启动docker守护程序,而不启动设置为自动重新启动的容器

时间:2018-04-03 08:49:47

标签: docker

docker守护程序不再在我的计算机上启动(Linux / Centos 7),我强烈怀疑在这种情况下设置为自动重启的容器是罪魁祸首。如果我手动启动守护进程,我看到的最后一行是#34;加载容器:启动",然后它就会挂起。

我想要做的是启动守护进程而不启动任何容器。但我找不到任何选择。在没有启动容器设置为自动重启的情况下,docker中是否有任何选项可以启动守护程序?如果没有,有没有办法手动删除不需要运行docker守护程序的容器?

2 个答案:

答案 0 :(得分:1)

我写了这个小脚本来在docker启动之前停止所有容器。它需要安装jq

for i in /var/lib/docker/containers/*/config.v2.json; do
  touch "$i.new" && getfacl -p "$i" | setfacl --set-file=- "$i.new"
  cat "$i" | jq -c '.State.Running = false' > "$i.new" && mv -f "$i.new" "$i"
done

答案 1 :(得分:1)

我认为我们需要验证您正在使用的Docker的存储驱动程序。已知Devicemapper存在与您描述的问题类似的问题。我建议移至overlay2作为存储驱动程序。

如果您不在产品系统上运行此程序,则可以尝试执行以下步骤来查看守护进程是否正在运行,

  1. 停止守护进程
  2. 清理docker主目录,默认为/ var / lib / docker / *
  3. 您可能无法删除所有内容,在这种情况下,安全的选择是停止docker自动启动,systemctl disable docker,然后重新启动系统
  4. 系统启动后,再次执行步骤2,然后尝试重新启动守护程序。希望一切都会出现。
相关问题