Craig Lawson

My feedback

  1. 31 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  Feature Suggestions » Docker  ·  Flag idea as inappropriate…  ·  Admin →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    An error occurred while saving the comment
    Craig Lawson commented  · 

    This is actually not sufficient - you should make this possible regardless of what is set in the EXPOSE meta data.

    This is not an either or - its both options are required. EXPOSE is not a contract - its presence does not mean the only way you can use the image is as described.

    EXPOSE is an advisory to say this docker image is going to "expose" a service on these ports.

    There may be other ports open, the author may have got this wrong or not specified it at all. Often the containers have a multitude of other ports active and documented.

    You should certainly list the exposed ports - but the choice of what port should not be fixed to those specified.

    The problem with the current approach means that you end up having to republish repositories with the ports you need EXPOSEd in the docker file, which inevitably means that I’ll have to setup a CI to republish this if it does work every time the upstream packages are updated so does add a dependancy into the chain that is also undesirable.

    Furthermore the docker container lookup does seem to take a long time to list your images the first time (certainly did for me).

    To confirm - from Dockers documentation -

    "The EXPOSE instruction does not actually publish the port. It functions as a type of documentation between the person who builds the image and the person who runs the container, about which ports are intended to be published"

    Therefore this is not concrete - its advisory - very helpful that Plesk reads this but it should not be taken for granted as the only way in which a container may be used.

Feedback and Knowledge Base