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