10分钟教你如何在win10上操作win10上的虚拟机中的docker容器,保证学会
1 背景介紹
小秦同學(xué)這幾天,在進(jìn)行分布式系統(tǒng)的學(xué)習(xí),難免需要搭建各種集群。但是,小秦同學(xué)非常窮,小秦同學(xué)的導(dǎo)師也非常地窮,沒(méi)有一個(gè)分布式集群來(lái)學(xué)習(xí)。所以只能靠虛擬機(jī),docker之類的才能勉強(qiáng)進(jìn)行學(xué)習(xí)這樣子。
小秦同學(xué)先在自己win10電腦上,安裝了一個(gè)vm虛擬機(jī),在虛擬機(jī)上運(yùn)行了一個(gè)ubuntu1604,然后在ubuntu1604上安裝docker,在docker上拉了一個(gè)ubuntu鏡像,生成了三個(gè)ubuntu容器。示意圖如下:
我想要在win10上使用IDEA寫代碼,直接操作我的分布式集群。
2 問(wèn)題引入
有的同學(xué)可能有疑問(wèn)了,想操作就直接操作呀,有什么問(wèn)題嗎?當(dāng)然是有問(wèn)題的,因?yàn)閐ocker與虛擬機(jī)默認(rèn)是橋接的,它和win10不處于同一個(gè)網(wǎng)段,無(wú)法ping通,所以不能直接通信?下面給出一個(gè)網(wǎng)絡(luò)示意圖:
注意:虛擬機(jī)與win10網(wǎng)絡(luò)請(qǐng)選擇NAT,不要選擇橋接,后面會(huì)給出解釋。
3 解決方案
目前,我們?cè)趙in10下,可以ping通虛擬機(jī),在虛擬機(jī)下,可以ping通docker容器。想要在win10下ping通docker容器,只需要在win10上添加一條靜態(tài)路由,訪問(wèn)docker容器時(shí),將路由的下一跳地址指定為虛擬機(jī)地址即可。操作如下:
可以通過(guò)route print查看是否添加成功
如果你不小心添加錯(cuò)了,可以通過(guò)route delete 172.17.0.5來(lái)刪除路由。
到此,就完成操作了,如果不生效,可能需要重啟電腦。
4 可能的問(wèn)題
小秦同學(xué)也是一路掉坑里,再慢慢爬起來(lái)的,也知道操作過(guò)程中可能一不小心就掉坑里了,下面給出一些常見(jiàn)的坑:
1 虛擬機(jī)開啟了防火墻
有可能虛擬機(jī)開啟了防火墻,關(guān)掉就好了,指令,ubuntu1604是
ufw disable2 虛擬機(jī)和win10的網(wǎng)絡(luò)選擇了橋接模式
如果選擇了橋接模式,相當(dāng)于虛擬機(jī)的網(wǎng)絡(luò)和win10網(wǎng)絡(luò)是獨(dú)立的,兩者地位平等,是無(wú)法在win10配置到虛擬機(jī)的路由的,橋接模式下,只有通過(guò)配置路由器,才能設(shè)置到虛擬機(jī)的路由。
所以,請(qǐng)選擇NAT模式,NAT模式下,虛擬機(jī)的網(wǎng)絡(luò),相當(dāng)于win10網(wǎng)絡(luò)的內(nèi)網(wǎng)
3 虛擬機(jī)未開啟路由轉(zhuǎn)發(fā)功能
ubuntu1604下,使用一下指令查看
cat /proc/sys/net/ipv4/ip_forward
如果是1,表示已經(jīng)開啟,如果是0,表示沒(méi)有開啟,需要開啟
將注釋掉的
net.ipv4.ip_forward=1打開
然后重啟就好了。
如果對(duì)你有所幫助,請(qǐng)關(guān)注微信公眾號(hào) 山人彤 .海量資源免費(fèi)送
總結(jié)
以上是生活随笔為你收集整理的10分钟教你如何在win10上操作win10上的虚拟机中的docker容器,保证学会的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vivo NEX3史上最强旗舰机!瀑布屏
- 下一篇: 原生 html 绘制表格