环境
macOS Monterey 12.73
默认情况下,只有 root 或者 有 sudo 权限的用户可以执行 Docker 命令。
想要以非 root 用户执行 Docker 命令,你需要将你的用户添加到 Docker 用户组,该用户组在 Docker CE 软件包安装过程中被创建。想要这么做,输入:
sudo apt-mark hold docker-ce
Windows 子系统 WSL ubuntu24.04 无法使用 sudo systemctl restart docker
报下面的错
haima@WIN-20240929XKQ:/etc$ sudo systemctl start docker
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
可以尝试使用
sudo service docker restart
测试 docker 运行hello-world
docker run hello-world
启动 Docker 守护进程
如能正常使用 sudo systemctl ,则忽略,不用操作下面方法
方法 1:修改 ~/.bashrc 或 ~/.zshrc(推荐)
适用于不想启用 systemd 的情况,手动启动 Docker 守护进程。
步骤
编辑 Shell 配置文件(如 ~/.bashrc 或 ~/.zshrc):
vim ~/.bashrc
在文件末尾添加:
# Auto-start Docker if not running
if ! pgrep -f dockerd > /dev/null; then
sudo /usr/bin/dockerd > /dev/null 2>&1 &
echo "Docker started."
fi
使配置生效:
source ~/.bashrc
测试:
关闭 WSL 窗口,重新打开。
运行 docker ps,应该能正常使用。
方法 2:启用 systemd(适用于 WSL 2 + Windows 11)
如果希望 Docker 像普通 Linux 系统一样由 systemd 管理,可以启用 systemd。
步骤
编辑 /etc/wsl.conf:
sudo nano /etc/wsl.conf
添加以下内容:
ini
[boot]
systemd=true
关闭 WSL 并重启:
powershellwsl --shutdown
重新进入 WSL,检查 systemd 是否运行:
ps -p 1 -o comm= # 应该显示 "systemd"
启用 Docker 开机自启:
sudo systemctl enable docker
测试:
重启 WSL,运行 docker ps,应该能正常使用。
作者:海马 创建时间:2024-03-24 09:36
最后编辑:海马 更新时间:2025-08-02 13:27
最后编辑:海马 更新时间:2025-08-02 13:27