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:

  • Transmission-daemon inside Docker container with OpenVPN/privateinternetaccess.com port forwarding [closed]
  • Task on marathon never ends
  • Alternatives to ssh X11-forwarding for Docker containers
  • Docker container linking via port forwarding?
  • How i can configure dockerized WildFly with HornetQ?
  • Docker unable to start
  • 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

  • Communication with Spark using Spark JobServer in docker
  • DOCKER manifest unknown: manifest unknown
  • Using Docker Nginx, PHP, MySQL on Mac
  • JCoCo Code Coverage inside Docker Image
  • How docker treats fsync on guest filesystem? Is it possible to lost data during host system crash?
  • Create container from local file
  • 3 Solutions collect form web for “Add a new entrypoint to a docker image”

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

    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"]
    

    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>

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.