dockerfile: how use CMD or ENTRYPOINT from base image

@Vor is right. But in case

# Dockerfile
FROM nginx:stable-alpine
ENTRYPOINT ["/docker-entrypoint.sh"]
COPY ./docker-entrypoint.sh /

and

# docker-entrypoint.sh
#!/usr/bin/env sh
set -e
exec "$@"

the default CMD from nginx:stable-alpine won't be executed in exec "$@".

You must to write default nginx-alpine's CMD by yourself(!) in Dockerfile

# Dockerfile
FROM nginx:stable-alpine
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["nginx", "-g", "daemon off;"]
COPY ./docker-entrypoint.sh /

OR change your docker-entrypoint.sh

# docker-entrypoint.sh
#!/usr/bin/env sh
set -e
exec nginx -g "daemon off;"

Hope it helps


If you left it blank in your new Dockerfile, it will inherit the one from the base image.

For example:

base

FROM ubuntu
CMD ["echo", "AAA"]

layer1

FROM base

If you build above images and run layer1 you will get the following:

$ sudo docker run -it layer1
AAA