web-dev-qa-db-ja.com

dockerから外部mysqlにアクセスする方法

Springboot Java外部mysqlにアクセスする必要があるdocker内のアプリがあります。

これをどのように構成できますか? Dockerfile内で定義することはできますか?

私は今ドッカーにいますので、これはシンプルで一般的なタスクであると思います:)

アプリを実行するとエラーが表示される

2019-02-12 15:10:51,472 DEBUG [メイン] com.zaxxer.hikari.pool.HikariPool:HikariPool-1-データソースから接続を取得できませんJava.sql.SQLNonTransientConnectionException:データベースサーバーへの接続を作成できませんでした。 3回再接続を試みた。あきらめます。

私のDockerfile

FROM openjdk:11.0.2-jre-slim
VOLUME /tmp
COPY target/app-0.4-SNAPSHOT.jar app.jar
ENTRYPOINT ["Java","-jar","/app.jar"]
EXPOSE 9001/tcp
1
simonC

MySQLサーバーが金属またはポートがマップされた別のcontianerのdocker Hostで実行されている場合、アプリの構成が、コンテナー内のループバックインターフェイスを指すlocalhost上のデータベースサーバーをまだ探している可能性があります。コンテナ。

あなたは特別なアドレスでこれを回避することができます:Host.docker.internal情報を参照

1
v25