无法远程连接到docker mysql容器

时间:2019-09-21 11:29:56

标签: mysql docker

我为我的mysql和spring-boot应用程序设置了docker。我的应用程序运行良好,并且还连接到MySQL容器。但是我无法通过MySQL Workbench(或任何其他客户端)远程访问我的MySQL容器。

每次尝试远程连接到MySQL容器时,都会收到一条错误消息

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

尽管如此,我可以通过docker bash访问我的MySQL容器。只是我无法远程访问它。

这是我的docker-compose.yml

version: '2.1'
services:
  my-mysql:
   container_name: my-mysql
   image: mysql/mysql-server:5.7
   environment:
    MYSQL_DATABASE: test_database
    MYSQL_ROOT_PASSWORD: root
    MYSQL_ROOT_HOST: '%'
   ports:
    - '3301:3301'
   expose:
    - '3301'
   restart: always

  my-app:
    image: my-app
    build:
      context: ./spring-boot-app
      dockerfile: Dockerfile
    ports:
      - 8087:8080
    volumes:
      - /data/spring-boot-app
    depends_on:
      my-mysql:
         condition: service_healthy
简而言之,一切正常,我的应用程序,我的mysql容器。只是我无法远程访问MySQL容器。

请注意,我正在使用Ubuntu 18.04 LTS

1 个答案:

答案 0 :(得分:0)

谢谢@ ramachandran-a-g帮助我。 :)

这是我一直在做的一个愚蠢的错误。

3301:3301代替3301:3306解决了这个问题。

我现在可以远程访问我的MySQL容器。