mysql - 使用 docker-compose 连接 Tomcat 容器和 Mysql 容器

标签 mysql docker docker-compose

我是 Docker 新手。我检查了这个答案Unable to Connect MySQL container to Tomcat Container in docker 但它对我不起作用。这就是我发布这个问题的原因。 我的 docker-compose 如下。

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>

我读到Unable to Connect MySQL container to Tomcat Container in docker仔细解决问题并进行更改。但我仍然收到此错误。

SQLException caught: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

请谁能帮我解决这个问题。感谢您的宝贵时间

最佳答案

https://docs.docker.com/compose/compose-file/#build根据他们的文件。我认为我们不能给予

build .

在 docker-compose.yml 中需要在构建命令后给出目录。在这种情况下,我采取了错误的方式。

正确的方法

build ./dir

关于mysql - 使用 docker-compose 连接 Tomcat 容器和 Mysql 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52811189/

相关文章:

mysql - 在node.js中使用promise处理MySQL返回值

docker - 如何在 Centos 7 上更改 Docker IP 地址?

docker - 无法将诗歌包上传到本地 dockerized pypiserver

Docker:使用 docker-compose 复制文件和目录

python - 以编程方式在 dockerized apache Airflow python 操作符内创建 SSH 隧道

mysql - 错误代码 : 1060. 不是唯一的表/别名: `table1`

mysql - SQL优化(MySQL)

namespaces - 是否可以将 ipc namespeces 与 docker compose 连接起来

docker - Go App无法通过docker-compose中的websocket连接

mysql - 在 laravel 中连接表创建重复条目