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:

  • Changing zookeeper cluster leadership when leader dies
  • can't access docker container
  • Docker API can’t apply json filters
  • LDAP authentication in Docker container
  • Linux boot2docker hosts not mounting home dirs
  • Difficulty accessing Docker's API
  • 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?

  • Docker command (cli) defaulting to port instead of socket
  • Containers are not linked with docker-compose version 2
  • hotdeploy / hotswap classes using wildfly maven docker intellij
  • Docker - Is it possible to connect containers in the same host using weave
  • running simple web app on docker tomcat container
  • Can not access nginx container on a local windows machine
  • One Solution collect form web for “Default Docker entrypoint”

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


    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.