使用docker compose连接tomcat容器和mysql容器

yqlxgs2m  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(454)

我是 Docker 的新手。我检查了这个答案,无法连接mysql容器到docker中的tomcat容器,但它不适合我。这就是为什么我张贴这个问题。我的 Docker 在吼叫。

version: '3'
services:
    web:
        build: .
        ports:
         - "4000:8080"
        links:
         - db

    db:
        image: mysql:latest
        environment:
            MYSQL_ROOT_PASSWORD: root
            MYSQL_DATABASE: custom
            MYSQL_USER: root
            MYSQL_PASSWORD: root
        volumes:
         - ./mysql-data:/var/lib/mysql

通过这个我需要建立一个联系。我使用jsp文件建立连接并获取数据。我的jsp文件如下。

<%@ page import="pageNumber.*,java.util.*, java.io.*, java.sql.*"%>
    <!DOCTYPE html>
    <body>
        <% 
        try {
          Connection con;
          Class.forName("com.mysql.jdbc.Driver");
          con = DriverManager.getConnection("jdbc:mysql://db:3306/custom?useSSL=false", "root", "root");
          if(con!=null){
              out.println ("database successfully opened.");
              out.println(con);
          }

        }
        catch(SQLException e) {
          out.println("SQLException caught: " +e.getMessage());
        }
      %>
    </body>

我仔细阅读了无法连接mysql容器到tomcat容器的docker问题,并进行了修改。但我还是犯了这个错误。
捕获到sqlexception:通信链接失败成功发送到服务器的最后一个数据包是0毫秒前。驱动程序尚未从服务器接收到任何数据包。
请任何人帮我解决这个问题。谢谢你抽出时间

lfapxunr

lfapxunr1#

https://docs.docker.com/compose/compose-file/#build 根据他们的文件。我想我们不能放弃
建造。
在docker-compose.yml中,需要在build命令之后给出目录。在这种情况下,我做了不正确的方式。
正确的方法
内部版本/目录

相关问题