docker version: 1.13.1
clickhouse version: 20.3.11.97
system: centos7

The **/docker-entrypoint-initdb.d/** path contains the sql file, and the sql contains the **odbc  Dictionary ENGINE**; when the **_entrypoint.sh_** script is executed, there is a certain probability that the dictionary table creation fails: `Code: 410. DB::Exception: Received from 127.0.0.1:9000. DB::Exception: ODBCBridgeHelper: clickhouse-odbc-bridge is not responding.`

Only after the clickhouse-odbc-bridge process is completely started, the creation of the obdc table will be added manually again.

the [ODBC](https://clickhouse.tech/docs/en/engines/table-engines/integrations/odbc/)  `ClickHouse automatically starts clickhouse-odbc-bridge when it is required`, But what is this trigger mechanism? Can the above problems be solved in entrypoint.sh?

**entrypoint.sh  log:**
```
Recreating clickhouse ... done
Attaching to clickhouse
clickhouse           | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse           | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse           | Include not found: macros
clickhouse           | Include not found: clickhouse_compression
clickhouse           | Logging error to /var/log/clickhouse-server/clickhouse-server.log
clickhouse           | Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
clickhouse           | 
clickhouse           | /entrypoint.sh: running /docker-entrypoint-initdb.d/schema.dnsmon.sql
clickhouse           | Received exception from server (version 20.3.12):
clickhouse           | Code: 410. DB::Exception: Received from localhost:9000. DB::Exception: ODBCBridgeHelper: clickhouse-odbc-bridge is not responding. 
clickhouse           | 
clickhouse           | 
clickhouse           | Processing configuration file '/etc/clickhouse-server/config.xml'.
clickhouse           | Merging configuration file '/etc/clickhouse-server/config.d/config.xml'.
clickhouse           | Include not found: macros
clickhouse           | Include not found: clickhouse_compression
clickhouse           | Logging error to /var/log/clickhouse-server/clickhouse-server.log
clickhouse           | Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
```

**clickhouse-odbc-bridge.log:**
```
2020.09.04 17:40:30.025145 [ 121 ] {} <Trace> Pipe: Pipe capacity is 1.00 MiB
2020.09.04 17:40:30.037783 [ 121 ] {} <Debug> ApplicationStartup: Initializing subsystem: Logging Subsystem
2020.09.04 17:40:30.037858 [ 121 ] {} <Information> ApplicationStartup: Starting up
2020.09.04 17:40:30.039492 [ 121 ] {} <Information> ApplicationStartup: Listening http://[::1]:9018
2020.09.04 17:40:31.234435 [ 122 ] {} <Information> Application: Received termination signal (Terminated)
2020.09.04 17:40:31.234514 [ 121 ] {} <Debug> ApplicationStartup: Received termination signal.
2020.09.04 17:40:31.234534 [ 121 ] {} <Debug> ApplicationStartup: Waiting for current connections to close.
2020.09.04 17:40:31.292217 [ 121 ] {} <Debug> Application: Uninitializing subsystem: Logging Subsystem
2020.09.04 17:40:31.292406 [ 122 ] {} <Information> BaseDaemon: Stop SignalListener thread
```




{
    BaseDaemon::uninitialize();
}
int ODBCBridge::main(const std::vector<std::string> & )
{
    if (is_help)
        return Application::EXIT_OK;
    registerFormats();
    LOG_INFO(log, "Starting up");
    Poco::Net::ServerSocket socket;
    auto address = socketBindListen(socket, hostname, port, log);
    socket.setReceiveTimeout(http_timeout);
    socket.setSendTimeout(http_timeout);
    Poco::ThreadPool server_pool(3, max_server_connections);
    Poco::Net::HTTPServerParams::Ptr http_params = new Poco::Net::HTTPServerParams;
    http_params->setTimeout(http_timeout);
    http_params->setKeepAliveTimeout(keep_alive_timeout);
    auto shared_context = Context::createShared();
    Context context(Context::createGlobal(shared_context.get()));
    context.makeGlobalContext();
    if (config().has("query_masking_rules"))
    {
        SensitiveDataMasker::setInstance(std::make_unique<SensitiveDataMasker>(config(), "query_masking_rules"));
    }
    auto server = Poco::Net::HTTPServer(
        new HandlerFactory("ODBCRequestHandlerFactory-factory", keep_alive_timeout, context), server_pool, socket, http_params);
    server.start();
    LOG_INFO(log, "Listening http://{}", address.toString());
    SCOPE_EXIT({
        LOG_DEBUG(log, "Received termination signal.");