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

AlmaLinux 8.3下docker命令正常但docker-compose无法连接Docker守护进程求助

解决方案

问题根源

你当前系统用的是Podman Engine模拟Docker CLI,但docker-compose默认依赖**Docker守护进程(docker daemon)**的Unix套接字/var/run/docker.sock,而Podman是无守护进程架构,没有标准的Docker服务,因此出现连接失败错误。要通过service docker start启动Docker进程,需安装官方Docker引擎。

安装并启动官方Docker引擎步骤

1. 移除现有Podman(可选,避免CLI冲突)

sudo dnf remove -y podman docker

2. 添加Docker官方YUM源

sudo dnf install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

注:AlmaLinux 8兼容CentOS 8软件源,因此使用CentOS的Docker仓库。

3. 安装Docker引擎、CLI和docker-compose组件

sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • docker-ce:包含Docker守护进程的核心引擎
  • docker-compose-plugin:提供docker compose命令(替代独立的docker-compose工具)

4. 启动并设置Docker开机自启

sudo systemctl start docker
sudo systemctl enable docker

此时执行service docker start也能正常启动服务(systemctl是service的现代替代实现)。

5. 验证配置

  • 检查Docker服务状态:
sudo systemctl status docker
  • 测试docker-compose命令:
docker-compose up -d nginx mysql phpmyadmin redis workspace

替代方案:让docker-compose适配Podman(无需安装Docker)

若不想安装Docker,可通过套接字兼容配置让docker-compose使用Podman:

  1. 启动并启用Podman套接字服务:
sudo systemctl start podman.socket
sudo systemctl enable podman.socket
  1. 创建软链接指向Podman套接字:
sudo ln -s /run/podman/podman.sock /var/run/docker.sock
  1. 安装docker-compose:
sudo dnf install -y docker-compose

完成后docker-compose即可通过兼容套接字调用Podman运行容器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 02:32:09