这是我的解决方案:对我的案子有效
-
通过注释将本地mysql服务器设置为公共访问
#bind-address = 127.0.0.1
在/etc/mysql/mysql.conf.d中
-
重新启动mysql服务器
sudo /etc/init.d/mysql restart
-
运行以下命令打开用户根访问任何主机
mysql -uroot -proot
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH
GRANT OPTION;
FLUSH PRIVILEGES;
-
创建sh脚本:run_docker.sh
#!bin/bash
HOSTIP=`ip -4 addr show scope global dev eth0 | grep inet | awk '{print \$2}' | cut -d / -f 1`
docker run -it -d --name web-app \
--add-host=local:${HOSTIP} \
-p 8080:8080 \
-e DATABASE_HOST=${HOSTIP} \
-e DATABASE_PORT=3306 \
-e DATABASE_NAME=demo \
-e DATABASE_USER=root \
-e DATABASE_PASSWORD=root \
sopheamak/springboot_docker_mysql