在启动时禁用 Docker 自动启动?

在启动时禁用 Docker 自动启动?

我尝试使用dockerUbuntu 14.04 64 位进行实验。我成功运行了一个映像,并为其指定了一个可移动驱动器上的路径/media/Drive1

现在,每当我重新启动时,我都会看到一个其中/media/Drive1只有一个docker目录,而实际应该Drive1安装在上的驱动器/media/Drive11,每次重新启动都会发生这种情况 - 即使我卸载这些驱动器,并sudo rm -rfv /media/Drive1在重新启动之前执行!

/media/Drive1因此,在完全安装之前可能会创建一些东西,我猜是这样的docker,因为当我启动时,我有:

$ ps axf | grep docker
 2085 ?        Ssl    0:00 /usr/bin/docker -d

那么,我该如何禁用docker自动启动,以便它不会干扰启动时外部 USB 驱动器的安装?

答案1

在 Ubuntu 16.04+ 及更高版本的系统上(操作系统使用systemd),根据文档,可以通过以下方式关闭开机自动启动:

$ sudo systemctl disable docker.service
$ sudo systemctl disable docker.socket

或者正如@Burak在评论中所说,这里是一行命令:

sudo systemctl disable docker.service docker.socket

请注意,如果您不禁用套接字和服务,那么服务仍然会启动,因为套接字依赖于它。

答案2

好的,我想我已经成功让它工作了,接下来如何启用或禁用服务?

sudo bash -c 'echo manual | sudo tee /etc/init/docker.override'

希望就是这样...

答案3

这是针对最新发布的 Ubuntu 使用的systemctl

要在启动时禁用,请systemctl disable按照@Burak 所述使用:

sudo systemctl disable docker.service docker.socket

正如 @Taylor 发现的那样,这会产生副作用,即重启后 Docker 完全停止工作。您将收到如下错误:

~$ sudo docker container ls
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

要在脚本中或提示符下启动 Docker 服务而不重新启用它在启动时启动,请使用systemctl start

sudo systemctl start docker.service

然后您可以正常使用docker或,它仍然不会在启动时自动重新启动。docker-compose

答案4

我认为最好的方法是申请mask服务:

sudo systemctl mask docker

相关内容