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

寻求可执行Docker推送拉取等工具命令的Docker镜像

适合在Pod中执行Docker Push/Pull的镜像方案

方案1:官方Docker CLI镜像 + 挂载宿主机Docker Socket

官方docker镜像内置完整Docker CLI,通过挂载宿主机的Docker Socket,Pod内的CLI可直接复用宿主机的Docker daemon(无需在Pod内运行daemon),完美支持push/pull及其他读取类命令。

  • 镜像选择:docker:latest(或指定稳定版本如docker:24.0.6)
  • Pod配置示例:
apiVersion: v1
kind: Pod
metadata:
  name: docker-cli-pod
spec:
  containers:
  - name: docker-cli
    image: docker:latest
    command: ["sleep", "3600"]
    volumeMounts:
    - name: docker-socket
      mountPath: /var/run/docker.sock
  volumes:
  - name: docker-socket
    hostPath:
      path: /var/run/docker.sock
      type: Socket
  • 注意:该方案要求Pod具备访问宿主机socket的权限,且宿主机Docker daemon需正常运行。

方案2:Skopeo(轻量无Daemon工具)

若不想依赖宿主机Docker环境,Skopeo是更优选择——它可直接与镜像仓库交互完成push/pull,完全不需要本地Docker daemon,镜像体积更小、资源消耗更低。

  • 镜像选择:quay.io/skopeo/stable:latest
  • 核心命令示例:
    • 拉取镜像到本地:skopeo copy docker://docker.io/library/alpine:latest docker-daemon:alpine:latest
    • 推送本地镜像到仓库:skopeo copy docker-daemon:my-image:v1 docker://my-registry.com/my-image:v1

方案3:Docker-in-Docker(DinD)镜像

如果需要在Pod内构建独立的Docker环境(比如既要构建镜像又要推送),可使用官方docker:dind镜像,但需开启特权模式。

  • 镜像选择:docker:dind
  • Pod配置示例:
apiVersion: v1
kind: Pod
metadata:
  name: docker-dind-pod
spec:
  containers:
  - name: docker-dind
    image: docker:dind
    securityContext:
      privileged: true
    volumeMounts:
    - name: docker-storage
      mountPath: /var/lib/docker
  volumes:
  - name: docker-storage
    emptyDir: {}
  • 注意:DinD对资源要求较高,仅在需要完整独立Docker环境时使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 00:02:11