如何防止 docker 在系统启动时自动启动容器?

How to prevent docker from starting a container automatically on system startup?

Docker 在每次系统启动 (debian) 时启动一个容器,但我没有为此创建服务。我怎样才能防止 docker 这样做?

  1. 您也可以在系统->首选项->启动应用程序中查看。 (搜索启动应用app)
  2. 使用此命令:'Crontab -l'(检查是否设置了任何 cronjob)
  3. grep docker in /etc/init.d 如果你发现你可以使用 sudo 权限从那里删除(确保你不更改其他文件或任何其他内容,请执行此操作风险自担 )

  4. sudo docker 运行 --restart=no redis (将redis换成你的容器名)

如果您仍然发现任何问题,请告诉我。

信息在/var/lib/docker/containers/<hash>/hostconfig.json (拥有 root 权限)

在任何这些文件中检查 RestartPolicy.Name = "always"

Docker 将在 docker 服务初始启动时自动启动 RestartPolicy 为 'always' 的任何容器。您不会在 cron 或任何其他正常的系统启动脚本中找到这方面的任何证据;您必须深入了解容器配置才能找到它。

docker inspect my-container (在输出中查找 RestartPolicy)

这种情况大多发生在使用 --restart always 创建容器时,后来情况发生了变化,我不再希望这种情况发生。

在docker 1.11之后,这很容易修复

docker update --restart=no my-container

原始答案在这里:

启动 Docker 如果没有 运行。 单击菜单栏中的 Docker 图标。 Select 首选项...(或按 Cmd-逗号)。 在“常规”选项卡上取消选择 'Start Docker when you log in'。 关闭首选项 window。 退出 Docker(Cmd-Q 或使用菜单)。