code: public static StartCondition httpPing(final int internalHttpPort) {
          return new StartCondition() {
              @Override
              public StartConditionCheck build(DockerRule currentRule) {
                  String exposedPort = currentRule.getExposedContainerPort(Integer.toString(internalHttpPort));
                  String pingUrl = String.format("http://%s:%s/", currentRule.getDockerHost(), exposedPort);
                  log.debug("new wait for condition - http ping port: {}, url: '{}'", internalHttpPort, pingUrl);
                  return new HttpPingChecker(pingUrl, null, null);
              }
          };
      }
docs: Wait for http endpoint availability under given <b>internal</b> container port.
  Given port MUST be exposed (with {@link DockerRuleBuilder#expose(String, String)} or
  {@link DockerRuleBuilder#publishAllPorts(boolean)}) (reachable from the test
  code point of view).
  <p>
  Side note: Internal port is required for convenience - rule will find matching
  external port or, report error at startup when given internal port was not exposed.
  
  @param internalHttpPort Http port to scan for availability. Port is scanned with HTTP HEAD method
  until response with error code 2xx or 3xx is returned or until timeout.
  Port MUST be exposed for wait to work and given port number must
  be internal (as seen on container, not as on host) port number.