摘要:最近在學習微服務,不可避免的會涉及到將微服務容器化。為了嘗試解決上述問題,我們基于,安裝了官網提供的的虛擬機鏡像。下面說一下在中安裝了之后出現困擾我們一天的問題。增加如下內容將,更新為重新啟動,再次通過命令訪問,問題解決。
最近在學習Java微服務,不可避免的會涉及到將微服務容器化。
由于使用Windows7作為開發環境,最初幾天用了VirtualBox 和 boot2docker,但是經常會出現如下兩個問題:
1,在電腦重啟后,所有在docker-machine中的配置信息都會丟失;
2,插拔網線后,運行中的容器無法再訪問。
這兩個問題不是只有我遇到過,和我一起研究docker的同事也遇到同樣的情況。
為了嘗試解決上述問題,我們基于VirtualBox,安裝了Oracle官網提供的Ubuntu的虛擬機鏡像。
首先我們決定網絡選用橋接模式,主要基于幾點考慮:
1, Ubuntu中的Docker需要能夠連接外網以獲取需要的公共鏡像;
2, 本地的開發環境或其他機器,需要能夠直接訪問Docker容器的宿主機(即Ubuntu VM),以便通過maven或命令行的方式執行Docker命令;或者通過瀏覽器訪問容器化的eureka以及其他應用。
橋接模式的設定,可以通過在VirtualBox中選擇Ubuntu實例,點擊Settings->Network->Adapter1,然后選擇Bridged Adapter,之后保存即可。(需要注意的是Ubuntu實例要在停止狀態才可以選擇)
關于Ubuntu具體的安裝步驟和其他配置,網上有很多文章介紹,這里不再贅述。
下面說一下在Ubuntu中安裝了Docker之后出現困擾我們一天的問題。
通過本地環境嘗試連接Ubuntu的Docker Daemon(即監聽Docker并對外提供服務的進程)
$curl 10.213.22.202:2375 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed Cannot connect to the Docker daemon. Is the docker daemon running on this host?
其中2375(或2376)為Docker Daemon的默認監聽端口,10.213.22.202為橋接模式下虛擬機獲得的網絡地址。
環境信息Virtualbox: 5.1.20
Ubuntu VM: ubuntu-16
docker installed: 17.06.0
首先我們確認了,Ubuntu中的Docker已經在運行這點我們可以通過docker ps,docker pull或docker push等命令確認。
其次,查看 netstat -an|grep 2375 的結果發現此端口沒有處于監聽狀態。
通過Docker status命令確認2375確實沒有處于監聽狀態輸出包括類似如下信息:
root@ubuntu:~# /etc/init.d/docker status docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since vr 2017-09-25 12:41:48 EDT; 15min ago Docs: https://docs.docker.com Main PID: 1008 (docker) CGroup: /system.slice/docker.service └─1008 /usr/bin/docker daemon -H fd://通過增加如下兩個配置解決:
/etc/systemd/system/docker.service.d/docker.conf
此文件如果沒有就新創建一個。增加如下內容:
[Service] ExecStart= ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
/etc/init.d/docker
將DOCKER_OPTS="",更新為 DOCKER_OPTS="-H tcp://0.0.0.0:2375"
DOCKER_OPTS="-H tcp://0.0.0.0:2375"
重新啟動Docker,再次通過curl命令訪問,問題解決。
root@ubuntu:~# /etc/init.d/docker restart備注:使用Ubuntu后,只解決了最初的第一個問題,插拔網線的問題仍然存在,但是現在的結果已經能夠滿足我們的要求了。 參考
https://stackoverflow.com/que...
https://stackoverflow.com/que...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27040.html
摘要:在上運行使用系統要求開啟虛擬化的硬件支持可以通過命令來檢查或者更高版本至少內存安裝最新點擊下載安裝下載的文件安裝完成后,啟動使用鏡像加速地址使用自帶的使用的系統要求運行或者以上版本支持硬件虛擬化技術并且已啟用虛擬化安裝點擊下載運行在上運行使 在Mac上運行Docker 使用Docker for Mac 系統要求 開啟虛擬化的硬件支持,可以通過命令來檢查:sysctl kern.hv_...
摘要:正在學習,留著看看轉自的大坑小洼成為云計算領域的新寵兒已經是不爭的事實,作為高速發展的開源項目,難免存在這樣或那樣的瑕疵。話不多說,一起來領略的大坑小洼。原因回歸至上文的第一個坑。如此一來,只要內部涉及到域名解析,則立即受到影響。 正在學習Docker,留著看看 轉自Docker的大坑小洼 Docker成為云計算領域的新寵兒已經是不爭的事實,作為高速發展的開源項目,難免存在這樣或那樣...
摘要:模式容器直接使用宿主機的網絡配置,包括網卡,路由等,這種方案下,從網絡層面來看,容器就不是容器了,只是一個宿主機上的進程端口而已。 注:本篇僅僅是對各個網絡方案的簡介和思考。需要深入學習如何部署和使用的同學請自行度娘~ 中小docker用戶的苦惱 docker的使用者十分廣泛,不止有網易蜂巢,daocloud,時速云這類的已經成熟化的公有云服務,許多中小型企業內部也在試圖將docker...
摘要:模式容器直接使用宿主機的網絡配置,包括網卡,路由等,這種方案下,從網絡層面來看,容器就不是容器了,只是一個宿主機上的進程端口而已。 注:本篇僅僅是對各個網絡方案的簡介和思考。需要深入學習如何部署和使用的同學請自行度娘~ 中小docker用戶的苦惱 docker的使用者十分廣泛,不止有網易蜂巢,daocloud,時速云這類的已經成熟化的公有云服務,許多中小型企業內部也在試圖將docker...
閱讀 1371·2023-04-25 16:45
閱讀 1916·2021-11-17 09:33
閱讀 2306·2021-09-27 14:04
閱讀 914·2019-08-30 15:44
閱讀 2632·2019-08-30 14:24
閱讀 3411·2019-08-30 13:59
閱讀 1690·2019-08-29 17:00
閱讀 887·2019-08-29 15:33