Add a new entrypoint to a docker image

2019-06-17 01:31发布

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

3条回答
一夜七次
2楼-- · 2019-06-17 02:12

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"]
查看更多
别忘想泡老子
3楼-- · 2019-06-17 02:15

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>

查看更多
Melony?
4楼-- · 2019-06-17 02:25

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

查看更多
登录 后发表回答