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

Bitbucket Pipeline报错‘docker: command not found’求排查方案

问题原因与解决方案

核心原因

  • 你选用的python:3.10-slim基础镜像不包含Docker客户端,docker命令自然不存在。
  • services: docker的作用是在Pipeline中提供Docker守护进程(daemon)服务,但它不会自动给你的运行镜像安装Docker客户端工具。
  • 你添加的export DOCKER_BUILDKIT=1只是启用Docker BuildKit特性,和是否存在docker命令无关。

解决方案

方案1:更换包含Docker客户端的基础镜像

直接使用自带Docker客户端的镜像,比如Atlassian官方默认镜像(内置Docker客户端,可自行安装Python环境),修改image字段:

image: atlassian/default-image:3

之后在script中安装Python 3.10:

apt-get update && apt-get install -y python3.10 python3-pip

再执行docker version即可。

方案2:在现有镜像中手动安装Docker客户端

如果必须使用python:3.10-slim,可在script步骤开头添加安装Docker客户端的命令:

script:
  # 安装Docker客户端依赖与工具
  - apt-get update && apt-get install -y curl gnupg2 apt-transport-https ca-certificates lsb-release
  - curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
  - apt-get update && apt-get install -y docker-ce-cli
  # 验证Docker命令
  - docker version

额外注意(自托管Runner)

确保你的自托管Runner主机已经安装Docker,并且Runner进程的用户拥有Docker访问权限(比如加入docker用户组),否则即使安装了客户端,也无法连接到守护进程。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 23:33:16