在Ubuntu 20.04上开机禁用Docker

21

我认为让Docker守护程序不随机开机启动很简单,但实际并非如此。我手动安装了Docker,然后在安装后使用了以下简单的命令:

sudo systemctl disable docker

但令我惊讶的是,这并没有产生太大的影响,我仍然能看到守护进程愉快地运行着!

joesan@joesan-InfinityBook-S-14-v5:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
joesan@joesan-InfinityBook-S-14-v5:~$ 

我是否漏掉了什么?有什么线索吗?

4个回答

39

这对我有用(18.04):

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

您可以运行:

$ systemctl list-unit-files | grep -i docker

要检查 Docker 服务并以同样的方式手动禁用它们,请使用命令 $sudo systemctl disable <service-name>


根据文档,应该禁用containerd.service而不仅仅是docker.service。他们没有提到docker.socket,尽管我已经禁用了这三个。 - undefined

9
在Ubuntu 20.04.1 LTS中,执行以下操作:
执行完上述步骤后,
$sudo systemctl disable docker.service
$sudo systemctl disable docker.socket

$ systemctl list-unit-files | grep -i 'state\|docker'
UNIT FILE                                  STATE           VENDOR PRESET
alsa-state.service                         static          enabled      
docker.service                             disabled        enabled      
docker.socket                              disabled        enabled 

正如其他人指出的,您需要:

sudo systemctl restart docker

如果希望在当前会话中停用Docker,请使用以下命令检查:

sudo systemctl docker

5

disable本身并不会停止进程,它只是不会在下一次启动时启动进程。您需要重新启动计算机或输入以下内容:

sudo systemctl stop docker

停止该进程。


2
楼主说要防止Docker自动启动。在这种情况下需要禁用,对吧?停止(顾名思义)只会停止进程。 - Parth Shah
1
是的。您需要禁用该服务以防止自动启动。 - Matus Dubrava
我刚刚重启了我的机器,我发现 dockerd 在重启后已经启动了,这正是我想要避免的。你的帖子没有帮助! - joesan
2
运行 systemctl status docker。你看到了什么? - Matus Dubrava

1
检查正在运行的Docker服务
systemctl list-unit-files | grep -i docker

检查任务名称,通常在我的Ubuntu 20.04.5 LTS系统上为docker.service和docker.socket,它们是这样命名的。

使用列出的docker任务阻止docker启动

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接