计划
我希望我的tomcat服务器能够在单独的容器中连接到我的MySQL服务器。
问题
Tomcat无法连接到MySQL
我使用了wordpress教程中的一些详细信息,这些信息涉及与mysql容器建立链接并创建指向MySQL的链接。
尽管tomcat和mysql旋转得很好,但我似乎无法使tomcat能够连接到MySQL,但是这些设置在我的本地计算机上也可以正常运行。
我也尝试使用它--net: "host"
,尽管它不适用于Tomcat,因为它会引发严重错误。
修复方法,尽管我不相信这些都会导致我的问题,因为我认为这是一个码头工人问题而不是主机问题。
docker-compose.yml
web:
image: tomcat:7.0
container_name: tomcat-container
ports:
- "80:8080"
hostname: docker-tomcat
volumes:
- /home/webapps:/usr/local/tomcat/webapps
links:
- db
db:
image: mysql
container_name: mysql-container
environment:
MYSQL_ROOT_PASSWORD: Mysqlpassword1
MYSQL_DATABASE: tracker
volumes:
- /home/mysqlDB:/var/lib/mysql
这是我的 Context.xml from tomcat.
<Context>
<Resource
name="jdbc/tracker" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
url="jdbc:mysql://localhost:3306/tracker?useSSL=false"
driverClassName="com.mysql.jdbc.Driver"
username="root" password="mysqladmin1"
/>
<Resource
name="jdbc/jenkins" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
url="jdbc:mysql://localhost:3306/jenkins?useSSL=false"
driverClassName="com.mysql.jdbc.Driver"
username="root" password="mysqladmin1"
/>
</Context>
错误代码。
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at databaseConnections.SQLDatabaseConnection.tableExists(SQLDatabaseConnection.java:131)
at databaseConnections.JiraSQLDatabaseConnection.<init>(JiraSQLDatabaseConnection.java:50)
在将db链接为“ db”时,不能使用localhost来加入数据库。你应该“ db”
jdbc:mysql://db:3306/tracker?useSSL=false
在您的容器中,本地主机设计您的tomcat容器,而不是您的主机。MySQL容器有自己的网络。
此外,如果您不喜欢“ db”名称,则可以使用其他名称来命名链接
举个例子:
links:
- db:container-mysql
在这种情况下,您可以在tomcat容器中使用
jdbc:mysql://container-mysql:3306/tracker?useSSL=false
我有zipkin服务器作为Spring Boot应用程序运行。我已经将jar导出到docker容器。 我已经探索过这个环节。
我已经创建了一个MySQL数据库的映像,并在容器中运行它。我希望它在端口3406/3407上运行,因此我调用docker run命令如下所示: 如果我看我的容器,它看起来是这样的: 我非常想连接到我的数据库现在,但我似乎不能使我的URL工作。 这是我的URL的样子:
问题内容: 我有用于创建mysql映像的docker- compose文件,并将端口公开给3306,但是当我尝试安装CMS时,出现了无法连接数据库的错误。我尝试扫描端口3306,并向我显示它已打开,因此mysql正在运行。 为什么两个Docker容器彼此看不到? 这是我的docker-compose文件: 问题答案: 要连接到数据库,请使用您作为主机名提供的链接/别名。因此,您的CMS可以使用主机
我在这个repo中用2个图像制作了3个docker容器,使用MongoDB公共图像制作了1个。我使用 < code>docker-compose.yaml是: 但是MongoDB无法与节点服务器连接,并给出了以下错误: < code>backend/db.js的代码: 添加mongouri作为环境变量后的终端输出: 新错误:
我已经使用docker工具箱在视窗机器上安装了docker。我也在我的视窗机器上安装了mysql,服务器运行在端口3306上(localhost-127.0.0.1-在docker机器之外)。我在一个名为“micra-workq-svc”的docker网络内部的docker容器中运行一个冲刺启动应用程序,我希望在docker内部运行的应用程序连接到本地主机。我花了几个小时在谷歌上搜索,没有一个链接