解決Mac下 docker 無法 ping 通宿主機的問題
解決方案
拋棄docker for mac自帶的linux虛擬機(盡管輕量,但其與OSX通信采用socket文件的方式),使用docker-machine
安裝virtualbox。virtualbox創(chuàng)建后,會添加一個虛擬網(wǎng)卡,可以通過ifconfig命令查看。我們實現(xiàn)的方式,就是利用這個虛擬網(wǎng)卡。
使用docker-machine創(chuàng)建默認linux虛擬機,命令docker-machine create
切換docker環(huán)境,使用eval $(docker-machine env)命令
查看創(chuàng)建的虛擬機的ip地址:docker-machine ip default或者直接docker-machine ip,假如為192.168.99.100
執(zhí)行route命令,把192.168.99.100作為網(wǎng)關(guān),將docker容器的ip段,路由到此IP上。假如docker容器的網(wǎng)段為172.17.0.0/16,那么使用sudo route -n add -net 172.17.0.0/16 192.168.99.100命令,添加路由信息。
啟動一個docker容器,此次測試使用redis:alpine鏡像:docker run -d redis:alpine。查看運行的鏡像IP。并ping測試。如無意外,宿機目前可以ping同容器了。
補充:
eval "$(docker-machine env -u)"
它將取消DOCKER_*變量。
為了記錄,這是輸出docker-machine env -u:
unset DOCKER_TLS_VERIFY unset DOCKER_HOST unset DOCKER_CERT_PATH unset DOCKER_MACHINE_NAME
補充知識:Mac Docker Host模式不能用
今天在Mac搭建docker中安裝fastdfs, 用host模式啟動tracker與storage, 死活不行。
原來是主機網(wǎng)絡驅(qū)動程序僅適用于Linux主機,并且不支持Docker for Mac,Docker for Windows或Docker EE for Windows Server。
居然還有這個限制。服了,浪費了一天時間。
以上這篇解決Mac下 docker 無法 ping 通宿主機的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Jenkins Pipeline中Docker鏡像構(gòu)建與推送的常見問題及解決方案
在現(xiàn)代 DevOps 實踐中,Jenkins 作為一款流行的持續(xù)集成和持續(xù)交付(CI/CD)工具,被廣泛應用于自動化構(gòu)建、測試和部署流程,然而,在實際使用 Jenkins Pipeline 進行 Docker 鏡像構(gòu)建和推送的過程中,可能會遇到各種問題,本文將通過一個具體的案例給大家詳細的介紹一下2025-01-01
CentOS 7.2 下安裝 Docker 1.12.3 版的詳細方法
這篇文章主要介紹了CentOS 7.2 安裝 Docker 1.12.3 版的相關(guān)資料,本文分步驟給大家介紹了CentOS 7.2 下安裝 Docker 1.12.3 版的詳細方法,需要的朋友可以參考下2016-11-11
docker容器源碼部署httpd用存儲卷部署網(wǎng)站(推薦)
這篇文章主要介紹了docker容器源碼部署httpd用存儲卷部署網(wǎng)站,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12

