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

如何修改Docker Desktop容器CLI按钮默认执行的shell为/bin/bash?

可行实现方案

以下方案按适用场景区分:

方案1:针对单个容器设置默认Shell(推荐,无兼容性问题)

Docker Desktop的CLI按钮会优先读取容器内部的SHELL环境变量作为默认启动的Shell,你可以按以下两种方式配置:

  • 构建镜像时直接在Dockerfile中指定默认Shell,后续所有基于该镜像启动的容器都会默认用Bash:
    ENV SHELL=/bin/bash
    # 也可以用SHELL指令设置:
    SHELL ["/bin/bash", "-c"]
    
  • 启动容器时临时指定环境变量,仅对当前启动的容器生效:
    docker run -itd --env SHELL=/bin/bash <镜像名>
    

注意:该方案要求容器镜像内已经预装了Bash,部分轻量镜像(如alpine基础镜像)默认没有Bash,需要先在Dockerfile中安装后再配置

方案2:修改Docker Desktop全局默认执行命令(适用于所有容器)

如果你需要所有容器的CLI按钮都默认调用/bin/bash,可以按以下步骤操作:

  1. 打开Docker Desktop设置页,找到Features in Development -> Docker Extensions 选项
  2. 勾选「Allow custom CLI commands for containers」选项并保存重启Docker Desktop
  3. 重启后进入容器列表,点击任意容器右侧的三个点(更多操作),选择「Configure CLI command」
  4. 将默认的docker exec -it {{containerId}} /bin/sh修改为docker exec -it {{containerId}} /bin/bash,保存后全局生效
    注意:该方案仅适用于Docker Desktop 4.16及以上版本,且如果某个容器内未预装Bash,点击CLI按钮会报错

临时替代方案

如果不想修改任何配置,点击默认的CLI按钮进入/bin/sh会话后,直接输入bash命令即可切换到Bash会话。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:06:04