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
```




Poco::Util::Option("log-path", "", "log path for all logs, default console").argument("log-path").binding("logger.log"));
    options.addOption(Poco::Util::Option("err-log-path", "", "err log path for all logs, default no")
                          .argument("err-log-path")
                          .binding("logger.errorlog"));
    options.addOption(Poco::Util::Option("stdout-path", "", "stdout log path, default console")
                          .argument("stdout-path")
                          .binding("logger.stdout"));
    options.addOption(Poco::Util::Option("stderr-path", "", "stderr log path, default console")
                          .argument("stderr-path")
                          .binding("logger.stderr"));
    using Me = std::decay_t<decltype(*this)>;
    options.addOption(Poco::Util::Option("help", "", "produce this help message")
                          .binding("help")
                          .callback(Poco::Util::OptionCallback<Me>(this, &Me::handleHelp)));
    ServerApplication::defineOptions(options); 
}
void ODBCBridge::initialize(Application & self)
{
    BaseDaemon::closeFDs();
    is_help = config().has("help");
    if (is_help)
        return;
    config().setString("logger", "ODBCBridge");
    
    
    const auto stdout_path = config().getString("logger.stdout", "");
    if (!stdout_path.empty())
    {
        if (!freopen(stdout_path.c_str(), "a+", stdout))
            throw Poco::OpenFileException("Cannot attach stdout to " + stdout_path);