是否可以在docker mysql运行容器以及windows 10 mysql中使用3306端口(相同端口)

时间:2017-09-08 09:14:42

标签: mysql hibernate docker windows-10 tomcat7

我在tomcat 7中成功部署war文件,并使用以下命令启动tomcat

docker run -it --rm -p 7008:8080 -v //d/docker_tomcat/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro -v //d/docker_tomcat/webapps:/usr/local/tomcat/webapps:rw tomcat:7.0 

当tomcat启动时显示以下错误日志: -
使用AbandonedObjectPool(org.apache.commons.dbcp.AbandonedObjectPool@9030ca2)
LogAbandoned:真实的 RemoveAbandoned:true
RemoveAbandonedTimeout:90
[localhost-startStop-1]错误org.hibernate.util.JDBCExceptionReporter - 无法创建PoolableConnectionFactory

我认为上述错误意味着无法访问数据库studentdb

这是我的hibernate.properties文件: -

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.username=root
hibernate.connection.password=root
hibernate.connection.url=jdbc:mysql://10.0.75.x<ip of docker>:3306/studentdb?autoreconnect=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false
show_sql=false
hibernate.jdbc.use_streams_for_binary=false
hibernate.dbcp.testOnBorrow=true
hibernate.dbcp.validationQuery=SELECT 1 FROM DUAL
hibernate.dbcp.testOnReturn=false
hibernate.dbcp.maxWait=2000
hibernate.dbcp.testWhileIdle=true
hibernate.dbcp.minEvictableIdleTimeMillis=1800000
hibernate.dbcp.timeBetweenEvictionRunsMillis=300000
hibernate.dbcp.numTestsPerEvictionRun=5
hibernate.dbcp.removeAbandoned=true
hibernate.dbcp.removeAbandonedTimeout=90
hibernate.dbcp.logAbandoned=true  
  

我认为hibernate.connection.url属性中可能存在错误   hibernate.properties文件。

并且还怀疑是因为我的Windows 10使用端口3306用于mysql以及docker还使用端口3306用于mysql。如果它有问题,那我怎么能改变在docker中运行的mysql容器的端口与一些不同的端口

1 个答案:

答案 0 :(得分:1)

使用以下命令将本地端口转发到docker容器端口

docker run -p <LOCAL-PORT>:3306 <mysql-image-name>