Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added API to set ephemeral port allocator range. #2476

Closed
wants to merge 1 commit into from

Commits on Oct 30, 2019

  1. Added API to set ephemeral port allocator range.

    Also reduce the allowed port range as the total number of containers
    per host is typically less than 1K.
    
    This change helps in scenarios where there are other services on
    the same host that uses ephemeral ports in iptables manipulation.
    
    The workflow requires changes in docker engine (
    moby/moby#40055) and this change. It
    works as follows:
    
    1. user can now specified to docker engine an option
       --published-port-range="50000-60000" as cmdline argument or
       in daemon.json.
    2. docker engine read and pass this info to libnetwork via
       config.go:OptionDynamicPortRange.
    3. libnetwork uses this range to allocate dynamic port henceforth.
    4. --published-port-range can be set either via SIGHUP or
       restart docker engine
    5. if --published-port-range is not set by user, a OS specific
       default range is used for dynamic port allocation.
       Linux: 49153-60999, Windows: 60000-65000
    6 if --published-port-range is invalid, that is, the range
      given is outside of allowed default range, no change takes place.
      libnetwork will continue to use old/existing port range for
      dynamic port allocation.
    
    Signed-off-by: Su Wang <su.wang@docker.com>
    Su Wang committed Oct 30, 2019
    Configuration menu
    Copy the full SHA
    1b60f9a View commit details
    Browse the repository at this point in the history