在docker裏部署網絡服務

以前試着玩玩docker有一陣子了,今天算是頭一回正式在docker裏部署網絡服務。docker

原本想和lxc差很少的東西那天然是手到擒來,沒想到仍是改了不少。網絡

第一個遇到的問題是,遠程連到docker宿主機幹活的時候忽然斷網了。一下傻掉了,之前都是連內網,歷來不斷的。此次連了一個反向隧道,竟然斷了,傻眼了。tornado

再連回去,發現docker ps裏還有進程,好辦,docker attach這個進程,就又進去了。進程

若是沒有找到進程,就只要docker commit存一下,而後再docker run拉起來繼續ip

若是連id號也忘了,那還能夠docker ps -a看一下最近用過的容器。部署

第二個遇到的問題是,部署了tornado之後起服務發現cannot bind address,想了一下,猜估計是容器裏命令太少無法自動決定ip地址,手工指定了一個,但是問題又來了,怎麼把內部的端口和外部的端口打通呢?it

有幾種辦法,容器

第一種是講docker的網絡非容器花,--net=host將網絡置爲和主機同樣的環境端口

第二種就是docker run -p outerip:outerport:innerport將外部的ip,端口映射到內部的端口,固然也能夠用-v將外部的目錄映射到內部的目錄bind

相關文章
相關標籤/搜索