我想在此image的顶部构建我的dockerfile。它是ubuntu + python。 第三方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停在ENTRYpoint-但我不需要此入口点,我有自己的最后一个命令-'CMD python server.py'。
ENTRYPOINT是否会影响我自己的dockerfile?该基本dockerfile是否已执行并坐在python shell上等待?
编辑:换句话说,是否执行了该基本dockerfile?还是我只提取图像,并在其上面构建了自己的dockerfile?
答案 0 :(得分:4)
您构建的Docker映像将继承基础映像的入口点,除非您对其进行更改。如果您对切入点感到满意,则无需执行任何操作。 CMD
定义将哪些参数传递给入口点。如果您对基本入口点python3
感到满意,则可以:
CMD ["server.py"]
在您的Dockerfile中。
答案 1 :(得分:2)
@paolo为您提供了使用基础映像中现有入口点的解决方案。
如果您对该入口点不满意,可以参考自己的入口
ENTRYPOINT ["my_script", "param1", "param2"]
或者甚至将其完全删除以仅使用CMD
ENTRYPOINT []