This fix is based on: https://github.com/docker/docker/issues/29936#issuecomment-277494885 Currently the insecure registry is only checked to see if it contains scheme (`http(s)://`) or not. No fully validation is done and this caused many confusions like in #29936. This fix tries to address the issue. This fix adds additional validation so that an insecure registry is validated to make sure it is in `host:port` format where host could be IPv4/IPv6 or a host name, and port could be an integer between 0-65535. Additional unit tests have been added. This fix is related to #29936. Signed-off-by: Yong Tang <yong.tang.github@outlook.com> Upstream-commit: e49589505a9c543006f9a54a85917c3349b6ec5a Component: engine