Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add a new entrypoint to a docker image

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

like image 205
sara Avatar asked Jan 11 '17 03:01

sara


3 Answers

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

like image 63
sara Avatar answered Nov 03 '22 21:11

sara


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>

like image 40
Anoop Avatar answered Nov 03 '22 20:11

Anoop


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"]
like image 2
dormi330 Avatar answered Nov 03 '22 20:11

dormi330