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