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

为何docker与podman显示相同的容器、镜像及卷?

为何docker ps与podman ps显示相同的容器?

我不清楚具体从何时开始,Docker和Podman似乎“合并”在了一起。执行docker ps时会显示通过Podman创建的容器,甚至包括pod;我也可以用docker删除Podman创建的容器,反之亦然。

我已确认没有别名覆盖docker命令:

$> type docker
docker is hashed (/usr/bin/docker)

$> docker -v
Docker version 27.3.1, build ce12230

$> podman -v
podman version 5.0.3

此外,docker volume ls、podman volume ls和docker images、podman images命令的输出结果也完全一致。


环境变量DOCKER_HOST被设置为unix:///run/user/1000/podman/podman.sock。取消设置该变量可解决问题,但仅对当前shell生效,属于临时方案。

我已检查bashrc文件,未发现该变量的设置,请问它可能设置在何处?


我的系统未安装podman-docker命令。


解答

DOCKER_HOST环境变量可能被设置在以下位置,可逐一排查:

  • 用户级配置文件:
    • ~/.bash_profile 或 ~/.profile:bash登录shell会加载的文件,常用于配置环境变量
    • ~/.bash_login:若存在,bash会优先加载该文件而非.profile
    • ~/.zshrc(若使用zsh作为默认shell):对应zsh的用户级配置文件
  • 系统级配置文件:
    • /etc/profile:系统全局登录shell配置,所有用户登录时都会加载
    • /etc/bash.bashrc:bash的系统全局配置文件,非登录shell也会加载
    • /etc/environment:Debian/Ubuntu系系统常用的全局环境变量配置文件,由PAM模块读取
    • /etc/profile.d/目录下的.sh脚本:很多发行版会将应用相关的环境变量设置放在该目录的脚本中
  • Podman专属配置:
    • ~/.config/containers/containers.conf:检查文件中[engine]部分的env字段,可能存在自动设置DOCKER_HOST的配置
    • Podman相关的启动脚本:部分发行版的Podman安装包会附带会话启动脚本,在用户登录时自动设置该变量
  • 桌面环境配置:
    • 若使用GNOME/KDE等桌面环境,可检查~/.config/environment.d/目录下的.conf文件(GNOME),或桌面系统设置中的环境变量配置项(KDE)

排查时可先用env | grep DOCKER_HOST确认当前变量值,找到对应设置后修改或删除即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:18:09