校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > docker容器訪問宿主機的MySQL操作

docker容器訪問宿主機的MySQL操作

熱門標簽:株洲電銷 貴陽網絡外呼系統軟件 宿州外呼系統公司 陜西辦理400電話 地圖標注小程序 信陽電銷外呼系統怎么樣 南充電銷外呼系統 海外工廠地圖標注 南昌外呼系統定制

背景:

有一個flask項目提供接口,使用docker容器構建并且運行,MySQL在宿主機運行,需要在容器中可以讓flask連接上宿主機的mysql

使用ifconfig命令可以看到,有一個docker0和eth0,在docker容器中可以通過eth0的IP地址加上端口號(3306)這樣就可以連接上宿主機的MySQL了;另外,nginx可以通過docker0的IP地址加上構建容器時指定的端口號進行訪問容器。

補充:docker的mysql容器運行正常,但是宿主機卻連不上數據庫,解決方法來啦

docker運行mysql容器正常,宿主機Navicat卻無法連接

我在docker上面執行docker ps顯示如下:

說明我的mysql是正常的,但是我用sqlyog和Navicat都無法連接我的數據庫,后來才發現問題所在,之前我在創建mysql容器(docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6.35)時候雖然成功,但是有一句提示我疏忽了:

這里提示網絡不可用,所以宿主機無法連接數據庫

解決辦法:現在輸入這個命令vim /usr/lib/sysctl.d/00-system.conf(vim不行的話你就輸入vi):

馬上會出現這個:

在末尾添加這句: net.ipv4.ip_forward=1 (添加的指令是這樣:先按i 鍵,接著你就可以操作了)然后保存退出(寫好了net.ipv4.ip_forward=1這個命令按esc鍵,接著Ctrl+: 最后輸入wq! 你就保存退出了),你再重啟network服務: systemctl restart network 先把剛才那個mysql的容器停止docker stop docker ,再把容器刪了docker rm mysql 如下:

現在你可以重新創建mysql的容器了,看下效果:

是不是沒有那個網絡不可用的警告了;我用sqlyog連接的,用Navicat連也一樣:

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽:開封 晉城 石嘴山 三明 玉林 汕頭 拉薩 鄭州

巨人網絡通訊聲明:本文標題《docker容器訪問宿主機的MySQL操作》,本文關鍵詞  docker,容器,訪問,宿,主機,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《docker容器訪問宿主機的MySQL操作》相關的同類信息!
  • 本頁收集關于docker容器訪問宿主機的MySQL操作的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 凤山县| 岑溪市| 阿拉尔市| 乡城县| 高碑店市| 会东县| 健康| 石嘴山市| 盘锦市| 利津县| 南岸区| 马公市| 郯城县| 都江堰市| 仙居县| 大余县| 孝义市| 昌都县| 邹平县| 广德县| 嘉黎县| 通辽市| 黑水县| 无为县| 云南省| 健康| 本溪市| 杭锦旗| 新余市| 永春县| 临安市| 宁城县| 根河市| 旬阳县| 明溪县| 道孚县| 洞头县| 盐池县| 南昌县| 昌图县| 青神县|