我有一个系统需要维护,我想启动dockerd
以便可以执行 docker 命令,但我不希望其现有容器自动启动。例如,在维护模式或系统升级情况下,这非常有用。我找不到处理这个问题的选项。
答案1
不是真正的答案,而是解决方法:
显示容器的RestartPolicy
:
find /var/lib/docker/containers/ -type f -name hostconfig.json \
-exec grep -o '"RestartPolicy[^}]*}' {} +
要将这些策略更改为“从不”,我使用了以下脚本:
find /var/lib/docker/containers/ -type f -name hostconfig.json \
-exec grep -o '"RestartPolicy[^}]*}' {} + |
grep -v '"never"' |
cut -d: -f1
xargs -r \
sed -i 's/\("RestartPolicy":{"Name":\)"[^"]*"/\1"no"/'
然后就可以启动docker了,所有的容器都会被禁用。但是,重置自动启动设置必须手动完成。