docker使用常见问题解决方案:错误号码2058,docker WARNING :IPv4,容器间的通讯
1.错误号码2058
1,错误解决:
解决方法:docker下mysql容器 登录 mysql -u root -p 登录你的 mysql 数据库,然后 执行这条SQL:
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
#password 是你自己设置的root密码
然后在重新配置SQLyog的连接,则可连接成功了,OK。
2,IPV4解决
方案一:
方案二:
配置该文件
重启网络服务
3,容器间的通讯
通过 User-defined networks(推荐)
docker network来创建一个桥接网络,在docker run的时候将容器指定到新创建的桥接网络中,这样同一桥接网络中的容器就可以通过互相访问。
创建网络
docker network create mynetwork
docker network rm mynetwork 删除网桥
docker network ls 查看创建的网络列表
mysql –h 192.168.52.129 –P 3306 –u root –p
操作:
1, 创建一个使用了该网络的mysql容器:
docker run -id –net=mynetwork –name=mysqlnet -p 33306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
2, 再创建一个使用了该网络的mysql容器:
docker run -id –net=mynetwork –name=mysqlnet2 -p 33206:3306 -e MYSQL_ROOT_PASSWORD=root mysql
3, 使用docker inspect mysqlnet 查看mysqlnet容器的ip: 比如为172.18.0.2
4, 进入mysqlnet2容器:使用mysql命令连接mysqlnet看是否成功
mysql –h 172.18.0.2 –P 3306 –u root –p
连接成功后创建一个数据库:create database test后进入mysqlnet容器看数据库是否存在,测试成功!
4,防火墙操作
关闭防火墙
systemctl stop firewalld.service
关闭开机启动
systemctl disable firewalld.service