eclipse-arrowhead / core-java-spring

Eclipse Public License 2.0
28 stars 53 forks source link

Docker, core systems refused by mysql. #312

Closed ajoino closed 3 years ago

ajoino commented 3 years ago

The docker containers in the development branch either do not work properly or the documentation is lacking. When I run either the 4.3.0 or 4.2.0 dockers, the MySQL container refuses to communicate with core systems, only logging bad handshake for each tried connection. It's the same in both the secure and insecure modes.

I tried both following the instructions by copying the create_empty_arrowhead_db.sql into the docker/ directory, by running the initSQL.sh script, and both. The instructions mention database initialization scripts but only one script by name. Though this might just be the documentation lagging behind the implementation.

jerkerdelsing commented 3 years ago

@tsvetlin this issue is for you.

tsvetlin commented 3 years ago

I've committed working docker files, which I have tested before on my computer

jerkerdelsing commented 3 years ago

I hope we can be more open minded. What about the quality of the documentation?

ajoino commented 3 years ago

The service registry logs this exception

serviceregistry | Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) which after googling suggests that the images might be using incompatible TLS versions https://stackoverflow.com/questions/38205947/sslhandshakeexception-no-appropriate-protocol, but if they work for you then this seems like a bug in the documentation rather than the docker files themselves.

tsvetlin commented 3 years ago

So I looked into the issue: First google hit led me here: https://www.programmersought.com/article/64995511893/

Reading the article and adding &useSSL=false to the end of the spring.datasource.url property the error went away.

Why was it working on my machine and not on yours? I had an older version of 5.7 container. I'll add the useSSL=false query param to all the propery files, so there won't be a clash with newer docker versions.

image