我在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容器的端口与一些不同的端口
答案 0 :(得分:1)
使用以下命令将本地端口转发到docker容器端口
docker run -p <LOCAL-PORT>:3306 <mysql-image-name>