我已经为我的 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
谢谢@ramachandran-ag 帮助我。:)
这是我一直在做的一个愚蠢的小错误。
替换3301:3301
为3301:3306
解决了问题。
我现在可以远程访问我的 MySQL 容器了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句