首先開啟Hyper-v ,會自動創建一個交換機。
開啟internet共享,自動創建的那個交換機(虛擬的網絡適配器)會分配一個默認的IP 192.168.137.1,這個IP你不爽,就用注冊表搜索並修改。
安裝docker,我用的最新的19.03.5版本。安裝時不要選使用windows容器,安裝后也不要切換到windows容器,否則你的電腦會又多了一個虛擬交換機,配置共享會變麻煩,而且windows內核容器支持的docker鏡像並不多。
安裝好了測試一下。
# 下載個ubuntu容器鏡像
docker pull ubuntu
# 運行容器鏡像
docker run -it ubuntu /bin/bash
# 查看當前運行的容器
docker ps
# 會看不到剛才運行的ubuntu,因為剛才不是后台運行的,執行一下就推出了,但是我們可以查看運行過的容器
docker ps -a
# 這樣我們看到了剛才的運行過的ubuntu和對應的容器ID
# 參數多加上一個d,后台運行,再次運行ubuntu,並指定個應用名ubuntu-test,並進入容器內部的bash。
docker run -itd --name ubuntu-test /bin/bash
# 順利進入的話,看看容器內部是否能訪問互聯網。ping 是不行的,最小ubuntu鏡像,很多程序都沒安裝。
apt-get update
# 如果順利,會顯示 Reading package lists... Done
# 測試已經OK了,如果你想繼續玩玩,安裝點工具軟件吧。
apt-get install net-tools # ifconfig
apt-get install iputils-ping # ping
ifconfig
# 留意被分配的ip號段。
ping www.google.com
# ping不通google,這會比較麻煩。一會兒可能需要手工拉鏡像。
配置代理:
在右下角的docker圖標setting,配置http和https端口代理。留意寫法必須為 http://x.x.x.x:端口號。配置信息要跟你科學開辟的代理一致。
找到你docker的配置文件路徑, 一般在C:\Users\用戶名\.docker 下,有一個config.json文件,這是容器實例共用的配置文件,在里面加入,留意json格式的逗號分隔符。
"proxies": { "default": { "httpProxy": "http://x.x.x.x:端口", "httpsProxy": "https://x.x.x.x:端口" } }
關閉運行的容器實例。退出docker。
將hyper-v默認的虛擬交換機(網卡)和你上網的網卡做橋接。
好了,重新運行個容器實例,你會發現你可以用http方式訪問谷歌了。注意,因為你開的代理僅僅是http和https代理,也就是說別的訪問方式還是不通的,比如ping就不會通,但是不影響我們的安裝和以后的運行了。
繼續,讓我們把Docker-Dsektop內置的kubernetes安裝上,版本為V1.15.5這版本稍微有點低,體驗或者用於開發用途足夠了。
在右下角的docker圖標點擊setting,
可選:在Docker Engine 內填入國內源的鏡像,我用的是在阿里雲申請的源地址,你可以百度一下如何申請。不申請也沒關系,因為我們已經能訪問外網了。
setting單獨有一欄就是kubernetes. 在Enable Kubernetes打上對勾,其他的先不用選,Apply一下。界面像卡死了,別擔心,如果你有抓包或者代理軟件那里能監控得到,你會看見正在下載相關鏡像。幾分鍾后,kubernetes就安裝好了。
如果就到此為止,那么請刪除你的橋接,否則你在本地可能會訪問不了你容器內的應用,盡管在容器內是可以訪問互聯網的,但是不能雙向. 刪除橋接后最好重啟一下,重新配置你的網絡環境,因為你原來的網卡配置和虛擬交換機ip配置已經面目全非了.
如果繼續,那么
下一篇,我們安裝一下管理界面 kubernetes-dashboard