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

 

posted @ 2021-03-30 16:51  赶星而至  阅读(278)  评论(0编辑  收藏  举报