私はdocker-swarmを介して作成された2つのドッカーサービスを持っています。ドッカーコンテナーのtomcatとmysqlの接続中に問題が発生しましたか?
1つはTomcatで、もう1つはmysqlです。私はtomcatからmysqlに接続しようとしていますが、どちらも別のコンテナにあります。
ここはtomcat containerのhibernate.cfg.xml
です。
<property name="connection.url">
jdbc:mysql://localhost:3306/travelbiz
</property>
<property name="connection.username">trvlbz_admin</property>
<property name="connection.password">admin123</property>
、ここ
[email protected]:/home/smadmin# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ecb386d9bbc cloudesire/[email protected]:19e24a2290e4c3253a44d65243a54c520e9f8e0fe0edf3a5221ccc67cf9da0f8 "/run.sh" 7 hours ago Up 7 hours 8080/tcp apache.2.1ftla1ohbnjgax7ibk8fbh5hz
4e940f3be18d vishnuranganathan/[email protected]:4460004d01c9a23d4c80ea2a9d7a69fc1495cbe01b48555cf28bd73a535176d1 "/usr/bin/mysqld_safe" 7 hours ago Up 7 hours 3306/tcp mysql.1.hjoba4bsrl8lujfumc6qru3uq
を実行しているサービスである私は、mysqlの接続を取得しています誰かがこの上で私を助けるtomcat.canを経由してアクセスしようとすると、例外を拒否しましたか?
コンテナ内のmysql設定が外部接続を許可しているかどうか確認しましたか?これはmy.cnfファイルにあり、設定は 'bind_address 0.0.0.0'です。それを削除するだけです。 –
@JorgeCamposええ、私はまだ0.0.0.0に同じ問題、Tomcatのコンテナ内のhibernate.cfg.xmlの中 変更: <プロパティ名= "connection.urlを"> JDBCます。mysql:// localhostを:3306/travelbiz localhost(または)host-ip(または)mysql-container-id ?? –
'localhost'それはあなたの問題です。これは、localhostではなく、mysqlコンテナのIPアドレスでなければなりません。 –