Add a new entrypoint to a docker image

2019-06-17 01:57发布

问题:

Recently, we decided to move one of our services to docker container. The service is product of another company and they have provided us the docker image. However, we need to do some extra configuration steps in the container entrypoint.

The first thing I tried, was to create a DockerFile from the base image and then add commands to do the extra steps, like this:

From baseimage:tag 
RUN chmod a+w /path/to/entrypoint_creates_this_file

But, it failed, because these extra steps must be run after running the base container entrypoint.

Is there any way to extend entrypoint of a base image? if not, what is the correct way to do this?

Thanks

回答1:

I finally ended up calling the original entrypoint bash script in my new entrypoint bash script, before doing other extra configuration steps.



回答2:

You do not need to even create a new Dockerfile. To modify the entrypoint you can just run the image using the command such as below:

docker run --entrypoint new-entry-point-cmd baseimage:tag <optional-args-to-entrypoint>



回答3:

create your custom entry-point file

-> add this to image

-> specify this as your entrypoint file

FROM image:base

COPY /path/to/my-entry-point.sh /my-entry-point.sh
// do sth here

ENTRYPOINT ["/my-entry-point.sh"]