@Override
    protected void configure() {
        final String removeCommand;
        withCreateContainerCmdModifier(it -> it.withEntrypoint("/bin/sh"));

        if (removeAllPrepackagedExtensions || !prepackagedExtensionsToRemove.isEmpty()) {
            if (removeAllPrepackagedExtensions) {
                removeCommand = "rm -rf /opt/hivemq/extensions/** &&";
            } else {
                removeCommand =
                    prepackagedExtensionsToRemove
                        .stream()
                        .map(extensionId -> "rm -rf /opt/hivemq/extensions/" + extensionId + "&&")
                        .collect(Collectors.joining());
            }
        } else {
            removeCommand = "";
        }
        setCommand(
            "-c",
            removeCommand +
            "cp -r '/opt/hivemq/temp-extensions/'* /opt/hivemq/extensions/ ; " +
            "chmod -R 777 /opt/hivemq/extensions ; " +
            "/opt/docker-entrypoint.sh /opt/hivemq/bin/run.sh"
        );
    }
Testcontainers implementation for HiveMQ.
<p>
Supported images: {@code hivemq/hivemq4}, {@code hivemq/hivemq-ce}
<p>
Exposed ports:
<ul>
    <li>MQTT: 1883</li>
    <li>Control Center: 8080</li>
    <li>Debug: 9000</li>
</ul>
modules/hivemq/src/main/java/org/testcontainers/hivemq/HiveMQContainer.java