Default Docker entrypoint

I am creating an image from another image that set a specific entrypoint. However I want my image to have default one. How do I reset the ENTRYPOINT?

I tried the following Dockerfile:

  • Shipyard v2 for Docker fails to login
  • Vagrant start docker container after halt
  • java code for producer/consumer not able to connect kafka in docker setup
  • Can't see django site being run in docker container on localhost
  • How to run bower install inside a Dockerfile?
  • Compilation of program on Docker is slow
  • FROM some-image
    ENTRYPOINT ["/bin/sh", "-c"]
    

    Unfortunately it doesn’t work like the default entrypoint as it need the command to be quoted.

    docker run myimage ls -l /    # "-l /" arguments are ignored
    file1 file2 file3             # files in current working directory
    
    docker run myimage "ls -l /"  # works correctly
    

    How do I use commands without quoting?

  • How can I attach volumes with docker-compose only when in the development environment?
  • Docker - How can i find running container?
  • Jenkins docker cache not working
  • Accessing resource over HTTPS in wordpress running on docker
  • how to configure docker container to run /usr/sbin/sshd upon startup
  • Play framework multiple ajax request
  • One Solution collect form web for “Default Docker entrypoint”

    To disable an existing ENTRYPOINT, set an empty array in your docker file

    ENTRYPOINT []
    

    Then your arguments to docker run will exec as normal.

    The reason your ENTRYPOINT ["/bin/sh", "-c"] requires quoted strings is that without the quotes, the arguments to ls are being passed to sh instead.

    Unquoted results in lots of arguments to sh

    "/bin/sh", "-c", "ls", "-l", "/"
    

    Quoting allows the complete command (-c) to be passed to sh

    "/bin/sh", "-c", "ls -l /"
    
    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.