You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 24.04安装Docker Desktop后无法启动,求解决方法

问题:Ubuntu 24.04无法启动Docker Desktop以部署Mealie

已完成操作

  • 添加Docker Apt仓库并配置可读GPG密钥:
    $ cat /etc/apt/sources.list.d/docker.list 
    deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu   noble stable
    
    $ ls -Alh /etc/apt/keyrings/docker.asc
    -rw-r--r-- 1 root root 3.8K Jan  9 08:38 /etc/apt/keyrings/docker.asc
    
  • 执行sudo apt update成功连接仓库无报错
  • 下载Docker Desktop DEB包并完成安装:
    $ ls -Alh ~/docker_desktop/
    total 357M
    -rw-rw-r-- 1 user user 357M Jan  9 08:46 docker-desktop-amd64.deb
    
    $ sudo apt install ./docker-desktop-amd64.deb
    
  • 安装过程提示Note, selecting 'docker-desktop' instead of './docker-desktop-amd64.deb',结尾出现官方说明的预期权限错误,已忽略
  • 安装文件已正常部署至/opt/docker-desktop/目录

遇到的核心问题

  1. 执行systemctl --user start docker-desktop无输出,使用sudo执行报错:
    $ sudo systemctl --user start docker-desktop
    Failed to connect to bus: No medium found
    
  2. 未出现Docker服务协议确认窗口,无法确认启动状态
  3. 执行docker compose和docker run hello-world均提示无法连接Docker daemon:
    $ sudo docker compose up -d
    unable to get image 'ghcr.io/mealie-recipes/mealie:v2.4.1': Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
    
    $ sudo docker run hello-world
    docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
    
  4. 检查Docker状态发现daemon未运行,且docker.service和docker-desktop.service不存在:
    $ systemctl is-active docker
    inactive
    
    $ systemctl status docker
    Unit docker.service could not be found.
    
    $ sudo systemctl start docker
    Failed to start docker.service: Unit docker.service not found.
    
    $ sudo systemctl start docker-desktop
    Failed to start docker-desktop.service: Unit docker-desktop.service not found.
    

解决步骤

1. 修正用户权限与启动方式

Docker Desktop是用户级服务,不能用sudo启动。先确保当前用户加入docker组:

$ sudo usermod -aG docker $USER

注销并重新登录后,验证用户组:

$ groups

确认输出包含docker组。

2. 启动Docker Desktop服务

执行用户级启动命令并设置开机自启:

$ systemctl --user enable --now docker-desktop

检查服务状态:

$ systemctl --user status docker-desktop

正常状态应显示active (running)。如果是无桌面环境的服务器,直接运行启动程序:

$ /opt/docker-desktop/bin/docker-desktop

3. 切换Docker CLI上下文

Docker Desktop启动后会创建用户级上下文,需要切换到该上下文以让CLI连接到Desktop daemon:

$ docker context use desktop-linux

验证上下文切换结果:

$ docker context ls

确认desktop-linux标记为*。

4. 验证Docker功能

执行hello-world测试确认服务正常:

$ docker run hello-world

如果成功输出欢迎信息,即可执行Mealie部署命令:

$ docker compose up -d

5. 修复缺失的systemd单元(可选)

如果docker-desktop.service仍无法识别,重新安装Docker Desktop以确保post-install脚本正确执行:

$ sudo apt remove --purge docker-desktop
$ sudo rm -rf /opt/docker-desktop
$ sudo apt install ./docker-desktop-amd64.deb

重新安装后重复步骤2-4。


内容的提问来源于stack exchange,提问作者Darien Marks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:32:07