前提:我的环境是centos7.0
1、启动docker
systemctl start docker
2、拉取mysql
docker pull daocloud.io/library/mysql:5.7.4
3、开启容器
sudo docker run --name docker-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d daocloud.io/library/mysql:5.7.4
这里需要制定端口,不指定也会有开放3306端口,但是在局域网下无法连接
4、为了在局域网下访问,需要开启centos下的端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
5、重启防火墙
systemctl restart firewalld.service
6、最终如果是下面画框的样子,说明局域网内可以访问
image.png
注意点:如果局域网下无法连接可能的原因有3个
1、防火墙的端口未开放
2、开启容器时没有手动制定开放端口
3、mysql内部内没有开启远程访问
设置远程访问(使用root密码):
grant all privileges on *.* to 'root' @'%' identified by '123'; // . 表示任意权限,%表示任意ip,123表示密码
flush privileges;
网友评论