问题:docker使用数据卷方式已经正常成功启动一个mysql了且能正常访问登录,但是当启动第2个数据库实例发现连接不上,追踪报错显示容器内没有mysqld.sock这个文件,导致一直找不到。
正常来说mysqld.sock这个文件是mysql实例正常启动就会创建的,但是当创建第二个mysql实例的时候容器内就没有这个mysqld.sock文件了,为啥会这样?
docker创建mysql实例命令如下
docker run -d -p 3306:3306 --name mysql3306 --restart=always --privileged=true -v /myvolume/mysql-master/log:/var/log/mysql -v /myvolume/mysql-master/data:/var/lib/mysql -v /myvolume/mysql-master/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run -d -p 3307:3306 --name mysql3307 --restart=always --privileged=true -v /myvolume/mysql-master/log:/var/log/mysql -v /myvolume/mysql-master/data:/var/lib/mysql -v /myvolume/mysql-master/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
宿主机数据卷路径图片
当创建完mysql3307 实例的时候,进入容器内登录mysql报错如图
执行命令查看日志报错如图