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

Docker基础:docker run -it 加与不加/bin/bash的区别是什么

两条docker run命令的差异说明

核心区别

  • 执行docker run -it centos时,你没有手动指定容器启动命令,Docker会直接使用centos镜像内置的默认启动命令运行容器
  • 执行docker run -it centos /bin/bash时,你显式指定了容器启动命令为/bin/bash,该命令会覆盖镜像内置的默认启动命令执行

测试表现一致的原因

官方CentOS镜像的默认启动命令本身就配置为/bin/bash,因此你显式指定命令和调用镜像默认命令指向的是同一个程序,使用感受上没有任何区别。

差异显现的场景

你可以更换其他镜像快速验证差异,比如官方Nginx镜像的默认启动命令是启动Nginx服务进程:

  • 执行docker run -it nginx会直接启动Nginx服务,不会进入交互式终端
  • 执行docker run -it nginx /bin/bash会覆盖默认的Nginx启动命令,直接进入容器的交互式终端

另外如果你基于官方CentOS镜像制作自定义镜像,将默认启动命令修改为/bin/sh,那么不带/bin/bash参数的docker run命令会进入sh终端,带参数的命令依然会进入bash终端,二者差异也会直观体现。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:09:02