我尝试使用docker
Ubuntu 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