我想在Windows 10(而非Pro)泊坞窗中使用metabase,以访问来自远程PostgreSQL实例转发的SSH端口的数据。
docker-machine ip default
来找到Docker主机的IP。这是192.168.99.100✔
docker run -d -p 3000:3000 \
-e "MB_DB_TYPE=postgres" \
-e "MB_DB_DBNAME=<my db name>" \
-e "MB_DB_PORT=5432" \
-e "MB_DB_USER=<username>" \
-e "MB_DB_PASS=<password>" \
-e "MB_DB_HOST=192.168.99.100" \
--name metabase metabase/metabase
仍然无法连接到postgres实例。 我的设置可能有什么问题?我应该在哪个步骤提供正确的IP错误?在步骤3之后如何轻松测试我的数据库应该可以从docker容器中访问?
``` 08-16 10:23:07 INFO metabase.util ::加载元数据库... 08-16 10:23:15 INFO util.encryption ::对于此配置数据库实例,已保存的凭据加密被禁用。 有关更多信息,请参见https://www.metabase.com/docs/latest/operations-guide/start.html#encrypting-your-database-connection-details-at-rest 08-16 10:23:33 INFO metabase.core ::以STANDALONE模式启动元数据库 08-16 10:23:33 INFO metabase.core ::使用配置启动嵌入式Jetty Web服务器: {:port 3000,:host“ 0.0.0.0”}
08-16 10:23:33 INFO metabase.core ::启动Metabase版本v0.30.0(04836dc版本-0.30.0)... 08-16 10:23:33 INFO metabase.core ::系统时区为'GMT'... 警告:可以吗?已经引用:#'clojure.core /任何?在命名空间:monger.collection中,被替换为:#'monger.collection / any? 08-16 10:23:35 INFO metabase.core ::设置和迁移Metabase数据库。请坐紧,这可能需要一分钟... 08-16 10:23:35 INFO metabase.db ::验证postgres数据库连接... 2018年8月16日上午10:23:36 org.postgresql.core.v3.ConnectionFactoryImpl日志 警告:连接到192.168.99.100:5432时发生ConnectException java.net.ConnectException:连接被拒绝(连接被拒绝) 在java.net.PlainSocketImpl.socketConnect(本地方法) 在java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 在java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在java.net.Socket.connect(Socket.java:589) 在org.postgresql.core.PGStream。(PGStream.java:69) 在org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:156) 在org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) 在org.postgresql.jdbc.PgConnection。(PgConnection.java:195) 在org.postgresql.Driver.makeConnection(Driver.java:452) 在org.postgresql.Driver.connect(Driver.java:254) 在java.sql.DriverManager.getConnection(DriverManager.java:664) 在java.sql.DriverManager.getConnection(DriverManager.java:208) 在clojure.java.jdbc $ get_connection.invokeStatic(jdbc.clj:370) 在clojure.java.jdbc $ get_connection.invoke(jdbc.clj:229) 在clojure.java.jdbc $ db_query_with_resultset_STAR_.invokeStatic(jdbc.clj:1023) 在clojure.java.jdbc $ db_query_with_resultset_STAR_.invoke(jdbc.clj:1005) 在clojure.java.jdbc $ query.invokeStatic(jdbc.clj:1099) 在clojure.java.jdbc $ query.invoke(jdbc.clj:1056) 在clojure.java.jdbc $ query.invokeStatic(jdbc.clj:1072) 在clojure.java.jdbc $ query.invoke(jdbc.clj:1056) 在metabase.driver.generic_sql $ can_connect_QMARK_.invokeStatic(generic_sql.clj:209) 在metabase.driver.generic_sql $ can_connect_QMARK_.invoke(generic_sql.clj:206) 在metabase.driver $ fn__28294 $ G__28047__28301.invoke(driver.clj:104) 在metabase.driver $ can_connect_with_details_QMARK_ $ fn__28424.invoke(driver.clj:516) 在clojure.core $ binding_conveyor_fn $ fn__5476.invoke(core.clj:2022) 在clojure.lang.AFn.call(AFn.java:18) 在java.util.concurrent.FutureTask.run(FutureTask.java:266) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) 在java.lang.Thread.run(Thread.java:745)
2018年8月16日上午10:23:36 org.postgresql.Driver Connect 严重:连接错误: org.postgresql.util.PSQLException:到192.168.99.100:5432的连接被拒绝。检查主机名和端口是否正确以及邮局主管正在接受TCP / IP连接。 在org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:245) 在org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) 在org.postgresql.jdbc.PgConnection。(PgConnection.java:195) 在org.postgresql.Driver.makeConnection(Driver.java:452) 在org.postgresql.Driver.connect(Driver.java:254) 在java.sql.DriverManager.getConnection(DriverManager.java:664) 在java.sql.DriverManager.getConnection(DriverManager.java:208) 在clojure.java.jdbc $ get_connection.invokeStatic(jdbc.clj:370) 在clojure.java.jdbc $ get_connection.invoke(jdbc.clj:229) 在clojure.java.jdbc $ db_query_with_resultset_STAR_.invokeStatic(jdbc.clj:1023) 在clojure.java.jdbc $ db_query_with_resultset_STAR_.invoke(jdbc.clj:1005) 在clojure.java.jdbc $ query.invokeStatic(jdbc.clj:1099) 在clojure.java.jdbc $ query.invoke(jdbc.clj:1056) 在clojure.java.jdbc $ query.invokeStatic(jdbc.clj:1072) 在clojure.java.jdbc $ query.invoke(jdbc.clj:1056) 在metabase.driver.generic_sql $ can_connect_QMARK_.invokeStatic(generic_sql.clj:209) 在metabase.driver.generic_sql $ can_connect_QMARK_.invoke(generic_sql.clj:206) 在metabase.driver $ fn__28294 $ G__28047__28301.invoke(driver.clj:104) 在metabase.driver $ can_connect_with_details_QMARK_ $ fn__28424.invoke(driver.clj:516) 在clojure.core $ binding_conveyor_fn $ fn__5476.invoke(core.clj:2022) 在clojure.lang.AFn.call(AFn.java:18) 在java.util.concurrent.FutureTask.run(FutureTask.java:266) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) 在java.lang.Thread.run(Thread.java:745) 引起原因:java.net.ConnectException:连接被拒绝(连接被拒绝) 在java.net.PlainSocketImpl.socketConnect(本地方法) 在java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 在java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在java.net.Socket.connect(Socket.java:589) 在org.postgresql.core.PGStream。(PGStream.java:69) 在org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:156) ...还有24个
08-16 10:23:36错误metabase.driver ::无法连接到数据库:org.postgresql.util.PSQLException:到192.168.99.100:5432的连接被拒绝。检查主机名和端口是否正确以及邮局主管正在接受TCP / IP连接。 08-16 10:23:36错误metabase.core ::元数据库初始化失败 java.lang.AssertionError:断言失败:无法连接到Metabase postgres DB。 (绑定[ allow-potentailly-unsafe-connections true](需要(quote metabase.driver))(((解决(quote metabase.driver / can-connect-with-details?))引擎详细信息) ) 在metabase.db $ verify_db_connection.invokeStatic(db.clj:365) 在metabase.db $ verify_db_connection.invoke(db.clj:358) 在metabase.db $ verify_db_connection.invokeStatic(db.clj:361) 在metabase.db $ verify_db_connection.invoke(db.clj:358) 在metabase.db $ setup_db_BANG_.invokeStatic(db.clj:427) 在metabase.db $ setup_db_BANG_.doInvoke(db.clj:421) 在clojure.lang.RestFn.invoke(RestFn.java:421) 在metabase.core $ init_BANG_.invokeStatic(core.clj:161) 在metabase.core $ init_BANG_.invoke(core.clj:138) 在metabase.core $ start_normally.invokeStatic(core.clj:245) 在metabase.core $ start_normally.invoke(core.clj:239) 在metabase.core $ _main.invokeStatic(core.clj:265) 在metabase.core $ _main.doInvoke(core.clj:260) 在clojure.lang.RestFn.invoke(RestFn.java:397) 在clojure.lang.AFn.applyToHelper(AFn.java:152) 在clojure.lang.RestFn.applyTo(RestFn.java:132) 在metabase.core.main(未知来源) 08-16 10:23:36 INFO metabase.core ::元数据库关闭... 08-16 10:23:36 INFO metabase.core ::元数据库关闭完成 ```