当拉取 docker 图像并在我自己的图像中使用它时 - 它会停在最后一行吗?

我想在顶部构建我的 dockerfile 。它是 ubuntu + python。该第 3 方 docker 文件:


FROM ubuntu:latest

MAINTAINER fnndsc "dev@babymri.org"


RUN apt-get update \

  && apt-get install -y python3-pip python3-dev \

  && cd /usr/local/bin \

  && ln -s /usr/bin/python3 python \

  && pip3 install --upgrade pip


ENTRYPOINT ["python3"] #this entry point line is my concern

但我想用作我自己的 dockerfile 的基础:


FROM fnndsc/ubuntu-python3

RUN pip install enum34 llvmlite numba

RUN mkdir -p ./voice_flask/d

WORKDIR /voice_flask/d

COPY . /voice_flask/d


CMD ["python", "server.py"]

问题:基本图像的 dockerfile 在入口点停止——但我不需要这个入口点,我有我自己的最后一个命令——“CMD python server.py”。


那个 ENTRYPOINT 会影响我自己的 dockerfile 吗?那个基本的 dockerfile 是否被执行并等待在 python shell 中?


编辑:换句话说,是否执行了基本 dockerfile?或者我只是拉图像,我自己的 dockerfile 是建立在它之上的?


慕田峪7331174
浏览 81回答 2
2回答

温温酱

您构建的 Docker 镜像将从基础镜像继承入口点,除非您更改它。如果您对入口点感到满意,则无需执行任何操作。CMD定义将哪些参数传递给入口点。如果您对基本入口点感到满意,python3您可以:CMD ["server.py"]在你的 Dockerfile 中。

临摹微笑

为您提供了使用基础映像中现有入口点的解决方案。如果您对该入口点不满意,您可以参考自己的入口点ENTRYPOINT ["my_script", "param1", "param2"]甚至完全删除它CMD仅供使用ENTRYPOINT []
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python