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

Docker容器启动后自动运行Python,如何阻止该行为?

容器自动启动Python而非Shell的解决方法

原因

官方Python slim镜像的默认启动命令(CMD)就是python3,所以不额外指定命令的话,容器启动后会直接进入Python交互环境。

两种解决方式

方式1:运行容器时临时指定Shell

直接在docker run命令最后加上Shell的路径即可,优先用bash,如果镜像里没有bash就用sh:

docker run -v /home/user/work/test_images/:/app -ti name:tag /bin/bash
# 无bash时的备选命令
docker run -v /home/user/work/test_images/:/app -ti name:tag /bin/sh

方式2:修改Dockerfile永久设置默认启动Shell

在你的Dockerfile末尾添加CMD指令,覆盖基础镜像的默认配置,同时修正原Dockerfile里的两处小问题:

FROM python:3.9.13-slim

RUN mkdir /app
COPY . /app

# 修正重复的apt-get命令,合并pip安装,清理多余缓存减小镜像体积
RUN apt-get update && apt-get install -y libglib2.0-0 libgl1-mesa-glx && \
    rm -rf /var/lib/apt/lists/* && \
    pip install opencv-python==4.5.3.56 pandas==1.4.3 && \
    rm -rf ~/.cache/pip

WORKDIR /app
# 设置默认启动bash,镜像无bash则替换为/bin/sh
CMD ["/bin/bash"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:34:54